Coverage Report

Created: 2025-06-22 02:05

/src/scnlib/include/scn/scan.h
Line
Count
Source (jump to first uncovered line)
1
// Copyright 2017 Elias Kosunen
2
//
3
// Licensed under the Apache License, Version 2.0 (the "License");
4
// you may not use this file except in compliance with the License.
5
// You may obtain a copy of the License at
6
//
7
//     https://www.apache.org/licenses/LICENSE-2.0
8
//
9
// Unless required by applicable law or agreed to in writing, software
10
// distributed under the License is distributed on an "AS IS" BASIS,
11
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
// See the License for the specific language governing permissions and
13
// limitations under the License.
14
//
15
// This file is a part of scnlib:
16
//     https://github.com/eliaskosunen/scnlib
17
18
#pragma once
19
20
// Includes <cassert>, <cstddef>, <cstdint>, and <type_traits>
21
#include <scn/fwd.h>
22
23
#if defined(SCN_MODULE) && defined(SCN_IMPORT_STD)
24
import std;
25
#else
26
#include <array>
27
#include <cstdio>
28
#include <cstring>
29
#include <iterator>
30
#include <limits>
31
#include <new>
32
#include <optional>
33
#include <string>
34
#include <string_view>
35
#include <system_error>
36
#include <tuple>
37
38
#if SCN_HAS_STD_F16 || SCN_HAS_STD_F32 || SCN_HAS_STD_F64 || \
39
    SCN_HAS_STD_F128 || SCN_HAS_STD_BF16
40
#include <stdfloat>
41
#endif
42
#endif
43
44
namespace scn {
45
SCN_BEGIN_NAMESPACE
46
47
/////////////////////////////////////////////////////////////////
48
// Metaprogramming facilities
49
/////////////////////////////////////////////////////////////////
50
51
namespace detail {
52
53
template <typename T>
54
using integer_type_for_char =
55
    std::conditional_t<std::is_signed_v<T>, int, unsigned>;
56
57
template <typename T, template <typename...> class Templ>
58
struct is_specialization_of_impl : std::false_type {};
59
template <typename... T, template <typename...> class Templ>
60
struct is_specialization_of_impl<Templ<T...>, Templ> : std::true_type {};
61
62
template <typename T, template <typename...> class Templ>
63
using is_specialization_of =
64
    is_specialization_of_impl<remove_cvref_t<T>, Templ>;
65
template <typename T, template <typename...> class Templ>
66
inline constexpr bool is_specialization_of_v =
67
    is_specialization_of<T, Templ>::value;
68
69
// from mp11:
70
71
template <typename T>
72
struct mp_identity {
73
    using type = T;
74
};
75
template <typename T>
76
using mp_identity_t = typename mp_identity<T>::type;
77
78
template <bool B>
79
using mp_bool = std::integral_constant<bool, B>;
80
template <typename T>
81
using mp_to_bool = mp_bool<static_cast<bool>(T::value)>;
82
template <typename T>
83
using mp_not = mp_bool<!T::value>;
84
template <auto A>
85
using mp_value = std::integral_constant<decltype(A), A>;
86
87
template <bool C, typename T, typename... E>
88
struct mp_if_c_impl;
89
template <typename T, typename... E>
90
struct mp_if_c_impl<true, T, E...> {
91
    using type = T;
92
};
93
template <typename T, typename E>
94
struct mp_if_c_impl<false, T, E> {
95
    using type = E;
96
};
97
98
template <bool C, typename T, typename... E>
99
using mp_if_c = typename mp_if_c_impl<C, T, E...>::type;
100
template <typename C, typename T, typename... E>
101
using mp_if = typename mp_if_c_impl<static_cast<bool>(C::value), T, E...>::type;
102
103
template <template <typename...> class F, typename... T>
104
struct mp_valid_impl {
105
    template <template <typename...> class G, typename = G<T...>>
106
    static std::true_type check(int);
107
    template <template <typename...> class>
108
    static std::false_type check(...);
109
110
    using type = decltype(check<F>(0));
111
};
112
113
template <template <typename...> class F, typename... T>
114
using mp_valid = typename mp_valid_impl<F, T...>::type;
115
template <template <typename...> class F, typename... T>
116
inline constexpr bool mp_valid_v = mp_valid<F, T...>::value;
117
118
struct mp_nonesuch {};
119
template <template <typename...> class F, typename... T>
120
struct mp_defer_impl {
121
    using type = F<T...>;
122
};
123
124
template <template <typename...> class F, typename... T>
125
using mp_defer = mp_if<mp_valid<F, T...>, mp_defer_impl<F, T...>, mp_nonesuch>;
126
127
template <bool C, class T, template <class...> class F, class... U>
128
struct mp_eval_if_c_impl;
129
130
template <class T, template <class...> class F, class... U>
131
struct mp_eval_if_c_impl<true, T, F, U...> {
132
    using type = T;
133
};
134
135
template <class T, template <class...> class F, class... U>
136
struct mp_eval_if_c_impl<false, T, F, U...> : mp_defer<F, U...> {};
137
138
template <bool C, class T, template <class...> class F, class... U>
139
using mp_eval_if_c = typename mp_eval_if_c_impl<C, T, F, U...>::type;
140
template <class C, class T, template <class...> class F, class... U>
141
using mp_eval_if =
142
    typename mp_eval_if_c_impl<static_cast<bool>(C::value), T, F, U...>::type;
143
template <class C, class T, class Q, class... U>
144
using mp_eval_if_q = typename mp_eval_if_c_impl<static_cast<bool>(C::value),
145
                                                T,
146
                                                Q::template fn,
147
                                                U...>::type;
148
149
// mp_eval_if_not
150
template <class C, class T, template <class...> class F, class... U>
151
using mp_eval_if_not = mp_eval_if<mp_not<C>, T, F, U...>;
152
template <class C, class T, class Q, class... U>
153
using mp_eval_if_not_q = mp_eval_if<mp_not<C>, T, Q::template fn, U...>;
154
155
// mp_eval_or
156
template <class T, template <class...> class F, class... U>
157
using mp_eval_or = mp_eval_if_not<mp_valid<F, U...>, T, F, U...>;
158
template <class T, class Q, class... U>
159
using mp_eval_or_q = mp_eval_or<T, Q::template fn, U...>;
160
161
// mp_valid_and_true
162
template <template <class...> class F, class... T>
163
using mp_valid_and_true = mp_eval_or<std::false_type, F, T...>;
164
template <class Q, class... T>
165
using mp_valid_and_true_q = mp_valid_and_true<Q::template fn, T...>;
166
167
// extension
168
template <template <typename...> class F, typename... T>
169
using mp_valid_result =
170
    mp_if<mp_valid<F, T...>, mp_defer_impl<F, T...>, mp_identity<void>>;
171
template <template <typename...> class F, typename... T>
172
using mp_valid_result_t = typename mp_valid_result<F, T...>::type;
173
174
// mp_cond
175
template <class C, class T, class... E>
176
struct mp_cond_impl;
177
178
template <class C, class T, class... E>
179
using mp_cond = typename mp_cond_impl<C, T, E...>::type;
180
181
template <class C, class T, class... E>
182
using mp_cond_ = mp_eval_if<C, T, mp_cond, E...>;
183
184
template <class C, class T, class... E>
185
struct mp_cond_impl : mp_defer<mp_cond_, C, T, E...> {};
186
187
/////////////////////////////////////////////////////////////////
188
// pointer_traits and to_address
189
/////////////////////////////////////////////////////////////////
190
191
template <typename Ptr, typename>
192
struct pointer_traits {};
193
194
template <typename T>
195
struct pointer_traits<T*, void> {
196
    using pointer = T*;
197
    using element_type = T;
198
    using difference_type = std::ptrdiff_t;
199
200
    template <typename U>
201
    using rebind = U*;
202
203
    template <typename U = T, std::enable_if_t<!std::is_void_v<U>>* = nullptr>
204
    static constexpr pointer pointer_to(U& r) noexcept
205
    {
206
        return &r;
207
    }
208
209
    SCN_FORCE_INLINE static constexpr pointer to_address(pointer p) noexcept
210
    {
211
        return p;
212
    }
213
};
214
215
template <typename Ptr>
216
using apply_member_difference_type = typename Ptr::difference_type;
217
template <typename Ptr>
218
using get_member_difference_type =
219
    mp_eval_or<std::ptrdiff_t, apply_member_difference_type, Ptr>;
220
221
template <typename Ptr, typename ElementType>
222
struct pointer_traits_generic_base {
223
    using pointer = Ptr;
224
    using element_type = ElementType;
225
226
    using difference_type = get_member_difference_type<Ptr>;
227
    static_assert(std::is_integral_v<difference_type>);
228
229
    // no rebind (TODO?)
230
231
    template <typename P = Ptr>
232
    static auto pointer_to(ElementType& r) -> decltype(P::pointer_to(r))
233
    {
234
        return Ptr::pointer_to(r);
235
    }
236
};
237
238
template <typename It, typename = void>
239
struct wrapped_pointer_iterator;
240
241
#ifdef _GLIBCXX_DEBUG
242
template <typename Elem, typename Container>
243
struct wrapped_pointer_iterator<__gnu_debug::_Safe_iterator<Elem*, Container>> {
244
    SCN_FORCE_INLINE static constexpr auto to_address(
245
        const __gnu_debug::_Safe_iterator<Elem*, Container>& it) noexcept
246
    {
247
        return it.base();
248
    }
249
};
250
#endif
251
#if SCN_STDLIB_GLIBCXX
252
template <typename Elem, typename Container>
253
struct wrapped_pointer_iterator<
254
    __gnu_cxx::__normal_iterator<Elem*, Container>> {
255
    SCN_FORCE_INLINE static constexpr auto to_address(
256
        const __gnu_cxx::__normal_iterator<Elem*, Container>& it) noexcept
257
    {
258
        return it.base();
259
    }
260
};
261
#endif
262
#if SCN_STDLIB_LIBCPP
263
template <typename Elem>
264
struct wrapped_pointer_iterator<std::__wrap_iter<Elem*>> {
265
    SCN_FORCE_INLINE static constexpr auto to_address(
266
        const std::__wrap_iter<Elem*>& it) noexcept
267
0
    {
268
0
        return it.base();
269
0
    }
270
};
271
#endif
272
273
template <typename I>
274
using apply_deref = decltype(*SCN_DECLVAL(I&));
275
template <typename I>
276
using apply_incr = decltype(++SCN_DECLVAL(I&));
277
template <typename I>
278
using apply_member_unwrapped = decltype(SCN_DECLVAL(I&)._Unwrapped());
279
template <typename It>
280
struct wrapped_pointer_iterator<
281
    It,
282
    std::enable_if_t<mp_valid_v<apply_deref, It> &&
283
                     mp_valid_v<apply_incr, It> &&
284
                     mp_valid_v<apply_member_unwrapped, It>>> {
285
    SCN_FORCE_INLINE static constexpr auto to_address(const It& it) noexcept
286
    {
287
        return it._Unwrapped();
288
    }
289
};
290
291
template <typename I>
292
using apply_member_to_address =
293
    decltype(wrapped_pointer_iterator<I>::to_address(SCN_DECLVAL(const I&)));
294
295
template <typename Iterator>
296
struct pointer_traits<
297
    Iterator,
298
    std::enable_if_t<mp_valid_v<apply_member_to_address, Iterator>>>
299
    : pointer_traits_generic_base<
300
          Iterator,
301
          std::remove_reference_t<decltype(*SCN_DECLVAL(Iterator&))>> {
302
    SCN_FORCE_INLINE static constexpr auto to_address(
303
        const Iterator& it) noexcept
304
0
    {
305
0
        return wrapped_pointer_iterator<Iterator>::to_address(it);
306
0
    }
307
};
308
309
template <typename It>
310
using apply_ptr_traits_to_address =
311
    decltype(pointer_traits<It>::to_address(SCN_DECLVAL(const It&)));
312
template <typename It>
313
inline constexpr bool can_make_address_from_iterator =
314
    std::is_pointer_v<mp_valid_result_t<apply_ptr_traits_to_address, It>>;
315
316
template <typename T>
317
SCN_FORCE_INLINE constexpr T* to_address_impl(T* p, priority_tag<2>) noexcept
318
5.16M
{
319
5.16M
    return p;
320
5.16M
}
char const* scn::v4::detail::to_address_impl<char const>(char const*, scn::v4::detail::priority_tag<2ul>)
Line
Count
Source
318
4.57M
{
319
4.57M
    return p;
320
4.57M
}
wchar_t const* scn::v4::detail::to_address_impl<wchar_t const>(wchar_t const*, scn::v4::detail::priority_tag<2ul>)
Line
Count
Source
318
591k
{
319
591k
    return p;
320
591k
}
321
template <typename Ptr>
322
SCN_FORCE_INLINE constexpr auto to_address_impl(const Ptr& p,
323
                                                priority_tag<1>) noexcept
324
    -> decltype(::scn::detail::pointer_traits<Ptr>::to_address(p))
325
{
326
    return ::scn::detail::pointer_traits<Ptr>::to_address(p);
327
}
328
template <typename Ptr>
329
SCN_FORCE_INLINE constexpr auto to_address_impl(const Ptr& p,
330
                                                priority_tag<0>) noexcept
331
    -> decltype(::scn::detail::to_address_impl(p.operator->(),
332
                                               priority_tag<2>{}))
333
{
334
    return ::scn::detail::to_address_impl(p.operator->(), priority_tag<2>{});
335
}
336
337
template <typename Ptr>
338
SCN_FORCE_INLINE constexpr auto to_address(Ptr&& p) noexcept
339
    -> decltype(::scn::detail::to_address_impl(SCN_FWD(p), priority_tag<2>{}))
340
5.16M
{
341
5.16M
    return ::scn::detail::to_address_impl(SCN_FWD(p), priority_tag<2>{});
342
5.16M
}
_ZN3scn2v46detail10to_addressIRPKcEEDTclgssr3scn6detailE15to_address_implscDtfp_Efp_tlNS1_12priority_tagILm2EEEEEEOT_
Line
Count
Source
340
1.78M
{
341
1.78M
    return ::scn::detail::to_address_impl(SCN_FWD(p), priority_tag<2>{});
342
1.78M
}
_ZN3scn2v46detail10to_addressIPKcEEDTclgssr3scn6detailE15to_address_implscDtfp_Efp_tlNS1_12priority_tagILm2EEEEEEOT_
Line
Count
Source
340
2.78M
{
341
2.78M
    return ::scn::detail::to_address_impl(SCN_FWD(p), priority_tag<2>{});
342
2.78M
}
_ZN3scn2v46detail10to_addressIPKwEEDTclgssr3scn6detailE15to_address_implscDtfp_Efp_tlNS1_12priority_tagILm2EEEEEEOT_
Line
Count
Source
340
591k
{
341
591k
    return ::scn::detail::to_address_impl(SCN_FWD(p), priority_tag<2>{});
342
591k
}
Unexecuted instantiation: _ZN3scn2v46detail10to_addressIRPKwEEDTclgssr3scn6detailE15to_address_implscDtfp_Efp_tlNS1_12priority_tagILm2EEEEEEOT_
343
344
}  // namespace detail
345
346
/////////////////////////////////////////////////////////////////
347
// <expected> implementation
348
/////////////////////////////////////////////////////////////////
349
350
SCN_GCC_PUSH
351
SCN_GCC_IGNORE("-Wnoexcept")
352
353
// The following implementation of expected is based on TartanLlama/expected,
354
// but is heavily modified.
355
//
356
// The original source is here:
357
//     https://github.com/TartanLlama/expected
358
// which is licensed under CC0 (Public Domain).
359
360
/**
361
 * \see `std::unexpected`
362
 */
363
template <typename E>
364
class SCN_TRIVIAL_ABI unexpected {
365
    static_assert(std::is_destructible_v<E>);
366
367
public:
368
    unexpected() = delete;
369
370
    SCN_GCC_PUSH
371
    SCN_GCC_IGNORE("-Wmaybe-uninitialized")
372
373
    template <
374
        typename Err = E,
375
        typename = std::enable_if_t<!std::is_same_v<Err, unexpected> &&
376
                                    !std::is_same_v<Err, std::in_place_t> &&
377
                                    std::is_constructible_v<E, Err>>>
378
    explicit constexpr unexpected(Err&& e) noexcept(
379
        std::is_nothrow_constructible_v<E, Err>)
380
3.27M
        : m_unexpected(std::forward<Err>(e))
381
5.64M
    {
382
5.64M
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
383
5.64M
    }
scn::v4::unexpected<scn::v4::scan_error>::unexpected<scn::v4::scan_error&, void>(scn::v4::scan_error&)
Line
Count
Source
380
2.61M
        : m_unexpected(std::forward<Err>(e))
381
2.61M
    {
382
2.61M
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
383
2.61M
    }
scn::v4::unexpected<scn::v4::scan_error>::unexpected<scn::v4::scan_error, void>(scn::v4::scan_error&&)
Line
Count
Source
380
592k
        : m_unexpected(std::forward<Err>(e))
381
592k
    {
382
592k
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
383
592k
    }
scn::v4::unexpected<scn::v4::impl::parse_error>::unexpected<scn::v4::impl::parse_error, void>(scn::v4::impl::parse_error&&)
Line
Count
Source
380
12.5k
        : m_unexpected(std::forward<Err>(e))
381
12.5k
    {
382
12.5k
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
383
12.5k
    }
scn::v4::unexpected<scn::v4::impl::parse_error>::unexpected<scn::v4::impl::parse_error&, void>(scn::v4::impl::parse_error&)
Line
Count
Source
380
49.1k
        : m_unexpected(std::forward<Err>(e))
381
49.1k
    {
382
49.1k
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
383
49.1k
    }
scn::v4::unexpected<scn::v4::impl::eof_error>::unexpected<scn::v4::impl::eof_error, void>(scn::v4::impl::eof_error&&)
Line
Count
Source
380
49.1k
        : m_unexpected(std::forward<Err>(e))
381
49.1k
    {
382
49.1k
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
383
49.1k
    }
scn::v4::unexpected<scn::v4::impl::eof_error>::unexpected<scn::v4::impl::eof_error&, void>(scn::v4::impl::eof_error&)
Line
Count
Source
380
27.5k
        : m_unexpected(std::forward<Err>(e))
381
27.5k
    {
382
27.5k
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
383
27.5k
    }
scn::v4::unexpected<scn::v4::impl::parse_error::code>::unexpected<scn::v4::impl::parse_error::code, void>(scn::v4::impl::parse_error::code&&)
Line
Count
Source
380
2.30M
        : m_unexpected(std::forward<Err>(e))
381
2.30M
    {
382
2.30M
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
383
2.30M
    }
384
385
    SCN_GCC_POP
386
387
    template <typename... Args,
388
              typename = std::enable_if_t<std::is_constructible_v<E, Args...>>>
389
    explicit constexpr unexpected(std::in_place_t, Args&&... args) noexcept(
390
        std::is_nothrow_constructible_v<E, Args...>)
391
5.78M
        : m_unexpected(std::forward<Args>(args)...)
392
5.85M
    {
393
5.85M
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
394
5.85M
    }
scn::v4::unexpected<scn::v4::scan_error>::unexpected<scn::v4::scan_error, void>(std::__1::in_place_t, scn::v4::scan_error&&)
Line
Count
Source
391
3.36M
        : m_unexpected(std::forward<Args>(args)...)
392
3.36M
    {
393
3.36M
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
394
3.36M
    }
scn::v4::unexpected<scn::v4::impl::parse_error>::unexpected<scn::v4::impl::parse_error, void>(std::__1::in_place_t, scn::v4::impl::parse_error&&)
Line
Count
Source
391
110k
        : m_unexpected(std::forward<Args>(args)...)
392
110k
    {
393
110k
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
394
110k
    }
scn::v4::unexpected<scn::v4::impl::parse_error>::unexpected<scn::v4::impl::parse_error::code, void>(std::__1::in_place_t, scn::v4::impl::parse_error::code&&)
Line
Count
Source
391
2.30M
        : m_unexpected(std::forward<Args>(args)...)
392
2.30M
    {
393
2.30M
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
394
2.30M
    }
395
396
    SCN_NODISCARD constexpr E& error() & noexcept
397
9.52M
    {
398
9.52M
        return m_unexpected;
399
9.52M
    }
scn::v4::unexpected<scn::v4::scan_error>::error() &
Line
Count
Source
397
5.85M
    {
398
5.85M
        return m_unexpected;
399
5.85M
    }
scn::v4::unexpected<scn::v4::impl::eof_error>::error() &
Line
Count
Source
397
153k
    {
398
153k
        return m_unexpected;
399
153k
    }
scn::v4::unexpected<scn::v4::impl::parse_error>::error() &
Line
Count
Source
397
1.20M
    {
398
1.20M
        return m_unexpected;
399
1.20M
    }
scn::v4::unexpected<scn::v4::impl::parse_error::code>::error() &
Line
Count
Source
397
2.30M
    {
398
2.30M
        return m_unexpected;
399
2.30M
    }
400
    SCN_NODISCARD constexpr const E& error() const& noexcept
401
0
    {
402
0
        return m_unexpected;
403
0
    }
Unexecuted instantiation: scn::v4::unexpected<scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::unexpected<scn::v4::impl::parse_error>::error() const &
404
405
    SCN_NODISCARD constexpr E&& error() && noexcept
406
    {
407
        return std::move(m_unexpected);
408
    }
409
    SCN_NODISCARD constexpr const E&& error() const&& noexcept
410
    {
411
        return std::move(m_unexpected);
412
    }
413
414
private:
415
    E m_unexpected;
416
};
417
418
template <typename E>
419
unexpected(E) -> unexpected<E>;
420
421
struct unexpect_t {};
422
inline constexpr unexpect_t unexpect{};
423
424
namespace detail {
425
template <typename T, typename... Args>
426
T* construct_at(T* p, Args&&... args) noexcept(
427
    std::is_nothrow_constructible_v<T, Args...>)
428
674k
{
429
674k
    return ::new (const_cast<void*>(static_cast<const volatile void*>(p)))
430
674k
        T(std::forward<Args>(args)...);
431
674k
}
scn::v4::unexpected<scn::v4::scan_error>* scn::v4::detail::construct_at<scn::v4::unexpected<scn::v4::scan_error>, scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>*, scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
428
520k
{
429
520k
    return ::new (const_cast<void*>(static_cast<const volatile void*>(p)))
430
520k
        T(std::forward<Args>(args)...);
431
520k
}
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>&&)
scn::v4::unexpected<scn::v4::scan_error>* scn::v4::detail::construct_at<scn::v4::unexpected<scn::v4::scan_error>, std::__1::in_place_t const&, scn::v4::scan_error>(scn::v4::unexpected<scn::v4::scan_error>*, std::__1::in_place_t const&, scn::v4::scan_error&&)
Line
Count
Source
428
38.8k
{
429
38.8k
    return ::new (const_cast<void*>(static_cast<const volatile void*>(p)))
430
38.8k
        T(std::forward<Args>(args)...);
431
38.8k
}
Unexecuted instantiation: std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
428
57.4k
{
429
57.4k
    return ::new (const_cast<void*>(static_cast<const volatile void*>(p)))
430
57.4k
        T(std::forward<Args>(args)...);
431
57.4k
}
Unexecuted instantiation: std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
428
57.3k
{
429
57.3k
    return ::new (const_cast<void*>(static_cast<const volatile void*>(p)))
430
57.3k
        T(std::forward<Args>(args)...);
431
57.3k
}
Unexecuted instantiation: std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
428
550
{
429
550
    return ::new (const_cast<void*>(static_cast<const volatile void*>(p)))
430
550
        T(std::forward<Args>(args)...);
431
550
}
Unexecuted instantiation: std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
428
550
{
429
550
    return ::new (const_cast<void*>(static_cast<const volatile void*>(p)))
430
550
        T(std::forward<Args>(args)...);
431
550
}
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >>(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >>(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >>(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >>(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
432
template <typename T>
433
void destroy_at(T* p) noexcept
434
154k
{
435
    if constexpr (std::is_array_v<T>) {
436
        for (auto& elem : *p) {
437
            scn::detail::destroy_at(&elem);
438
        }
439
    }
440
154k
    else {
441
154k
        p->~T();
442
154k
    }
443
154k
}
Unexecuted instantiation: void scn::v4::detail::destroy_at<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
void scn::v4::detail::destroy_at<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>*)
Line
Count
Source
434
38.8k
{
435
    if constexpr (std::is_array_v<T>) {
436
        for (auto& elem : *p) {
437
            scn::detail::destroy_at(&elem);
438
        }
439
    }
440
38.8k
    else {
441
38.8k
        p->~T();
442
38.8k
    }
443
38.8k
}
void scn::v4::detail::destroy_at<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Line
Count
Source
434
57.4k
{
435
    if constexpr (std::is_array_v<T>) {
436
        for (auto& elem : *p) {
437
            scn::detail::destroy_at(&elem);
438
        }
439
    }
440
57.4k
    else {
441
57.4k
        p->~T();
442
57.4k
    }
443
57.4k
}
Unexecuted instantiation: void scn::v4::detail::destroy_at<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
void scn::v4::detail::destroy_at<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Line
Count
Source
434
57.3k
{
435
    if constexpr (std::is_array_v<T>) {
436
        for (auto& elem : *p) {
437
            scn::detail::destroy_at(&elem);
438
        }
439
    }
440
57.3k
    else {
441
57.3k
        p->~T();
442
57.3k
    }
443
57.3k
}
Unexecuted instantiation: void scn::v4::detail::destroy_at<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
void scn::v4::detail::destroy_at<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Line
Count
Source
434
550
{
435
    if constexpr (std::is_array_v<T>) {
436
        for (auto& elem : *p) {
437
            scn::detail::destroy_at(&elem);
438
        }
439
    }
440
550
    else {
441
550
        p->~T();
442
550
    }
443
550
}
Unexecuted instantiation: void scn::v4::detail::destroy_at<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
void scn::v4::detail::destroy_at<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Line
Count
Source
434
550
{
435
    if constexpr (std::is_array_v<T>) {
436
        for (auto& elem : *p) {
437
            scn::detail::destroy_at(&elem);
438
        }
439
    }
440
550
    else {
441
550
        p->~T();
442
550
    }
443
550
}
Unexecuted instantiation: void scn::v4::detail::destroy_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Unexecuted instantiation: void scn::v4::detail::destroy_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Unexecuted instantiation: void scn::v4::detail::destroy_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Unexecuted instantiation: void scn::v4::detail::destroy_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
444
445
struct deferred_init_tag_t {};
446
inline constexpr deferred_init_tag_t deferred_init_tag{};
447
448
template <typename T,
449
          typename E,
450
          bool IsTriviallyDestructible =
451
              (std::is_void_v<T> || std::is_trivially_destructible_v<T>) &&
452
              std::is_trivially_destructible_v<E>>
453
struct expected_storage_base;
454
455
template <typename T, typename E>
456
struct SCN_TRIVIAL_ABI expected_storage_base<T, E, true> {
457
    constexpr expected_storage_base() noexcept(
458
        std::is_nothrow_default_constructible_v<T>)
459
1.25M
        : m_value(T{}), m_has_value(true)
460
1.25M
    {
461
1.25M
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v4::scan_error, true>::expected_storage_base()
Line
Count
Source
459
73.2k
        : m_value(T{}), m_has_value(true)
460
73.2k
    {
461
73.2k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v4::scan_error, true>::expected_storage_base()
Line
Count
Source
459
64.2k
        : m_value(T{}), m_has_value(true)
460
64.2k
    {
461
64.2k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, true>::expected_storage_base()
Line
Count
Source
459
85.6k
        : m_value(T{}), m_has_value(true)
460
85.6k
    {
461
85.6k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, true>::expected_storage_base()
Line
Count
Source
459
69.6k
        : m_value(T{}), m_has_value(true)
460
69.6k
    {
461
69.6k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v4::scan_error, true>::expected_storage_base()
Line
Count
Source
459
87.1k
        : m_value(T{}), m_has_value(true)
460
87.1k
    {
461
87.1k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v4::scan_error, true>::expected_storage_base()
Line
Count
Source
459
70.4k
        : m_value(T{}), m_has_value(true)
460
70.4k
    {
461
70.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v4::scan_error, true>::expected_storage_base()
Line
Count
Source
459
73.2k
        : m_value(T{}), m_has_value(true)
460
73.2k
    {
461
73.2k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v4::scan_error, true>::expected_storage_base()
Line
Count
Source
459
64.2k
        : m_value(T{}), m_has_value(true)
460
64.2k
    {
461
64.2k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v4::scan_error, true>::expected_storage_base()
Line
Count
Source
459
85.1k
        : m_value(T{}), m_has_value(true)
460
85.1k
    {
461
85.1k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v4::scan_error, true>::expected_storage_base()
Line
Count
Source
459
69.7k
        : m_value(T{}), m_has_value(true)
460
69.7k
    {
461
69.7k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v4::scan_error, true>::expected_storage_base()
Line
Count
Source
459
86.6k
        : m_value(T{}), m_has_value(true)
460
86.6k
    {
461
86.6k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v4::scan_error, true>::expected_storage_base()
Line
Count
Source
459
70.4k
        : m_value(T{}), m_has_value(true)
460
70.4k
    {
461
70.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v4::scan_error, true>::expected_storage_base()
Line
Count
Source
459
29.3k
        : m_value(T{}), m_has_value(true)
460
29.3k
    {
461
29.3k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v4::scan_error, true>::expected_storage_base()
Line
Count
Source
459
29.2k
        : m_value(T{}), m_has_value(true)
460
29.2k
    {
461
29.2k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, true>::expected_storage_base()
Line
Count
Source
459
29.4k
        : m_value(T{}), m_has_value(true)
460
29.4k
    {
461
29.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, true>::expected_storage_base()
Line
Count
Source
459
29.3k
        : m_value(T{}), m_has_value(true)
460
29.3k
    {
461
29.3k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v4::scan_error, true>::expected_storage_base()
Line
Count
Source
459
29.5k
        : m_value(T{}), m_has_value(true)
460
29.5k
    {
461
29.5k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v4::scan_error, true>::expected_storage_base()
Line
Count
Source
459
29.4k
        : m_value(T{}), m_has_value(true)
460
29.4k
    {
461
29.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v4::scan_error, true>::expected_storage_base()
Line
Count
Source
459
29.3k
        : m_value(T{}), m_has_value(true)
460
29.3k
    {
461
29.3k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v4::scan_error, true>::expected_storage_base()
Line
Count
Source
459
29.2k
        : m_value(T{}), m_has_value(true)
460
29.2k
    {
461
29.2k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v4::scan_error, true>::expected_storage_base()
Line
Count
Source
459
29.4k
        : m_value(T{}), m_has_value(true)
460
29.4k
    {
461
29.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v4::scan_error, true>::expected_storage_base()
Line
Count
Source
459
29.3k
        : m_value(T{}), m_has_value(true)
460
29.3k
    {
461
29.3k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v4::scan_error, true>::expected_storage_base()
Line
Count
Source
459
29.5k
        : m_value(T{}), m_has_value(true)
460
29.5k
    {
461
29.5k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v4::scan_error, true>::expected_storage_base()
Line
Count
Source
459
29.4k
        : m_value(T{}), m_has_value(true)
460
29.4k
    {
461
29.4k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, true>::expected_storage_base()
462
463
    constexpr explicit expected_storage_base(deferred_init_tag_t) noexcept
464
        : m_deferred_init(), m_has_value(false)
465
    {
466
    }
467
468
    template <typename... Args,
469
              typename = std::enable_if_t<std::is_constructible_v<T, Args...>>>
470
    constexpr explicit expected_storage_base(
471
        std::in_place_t,
472
        Args&&... args) noexcept(std::is_nothrow_constructible_v<T, Args...>)
473
14.3M
        : m_value(std::forward<Args>(args)...), m_has_value(true)
474
14.3M
    {
475
14.3M
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void>(std::__1::in_place_t, scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&&)
Line
Count
Source
473
363k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
474
363k
    {
475
363k
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, void>(std::__1::in_place_t, scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >&&)
Line
Count
Source
473
362k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
474
362k
    {
475
362k
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void>(std::__1::in_place_t, scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&&)
Line
Count
Source
473
3.09k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
474
3.09k
    {
475
3.09k
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, void>(std::__1::in_place_t, scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >&&)
Line
Count
Source
473
3.09k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
474
3.09k
    {
475
3.09k
    }
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::scan_error, true>::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, void>(std::__1::in_place_t, scn::v4::detail::basic_scan_buffer<char>::forward_iterator&&)
Line
Count
Source
473
1.33M
        : m_value(std::forward<Args>(args)...), m_has_value(true)
474
1.33M
    {
475
1.33M
    }
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::scan_error, true>::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, void>(std::__1::in_place_t, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&&)
Line
Count
Source
473
133k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
474
133k
    {
475
133k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::scan_error, true>::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator&, void>(std::__1::in_place_t, scn::v4::detail::basic_scan_buffer<char>::forward_iterator&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::scan_error, true>::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&, void>(std::__1::in_place_t, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&)
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, void>(std::__1::in_place_t, scn::v4::detail::basic_scan_buffer<char>::forward_iterator&&)
Line
Count
Source
473
1.25M
        : m_value(std::forward<Args>(args)...), m_has_value(true)
474
1.25M
    {
475
1.25M
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, long>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, long>&&)
Line
Count
Source
473
595k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
474
595k
    {
475
595k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&&)
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator&, void>(std::__1::in_place_t, scn::v4::detail::basic_scan_buffer<char>::forward_iterator&)
Line
Count
Source
473
139k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
474
139k
    {
475
139k
    }
scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>&&)
Line
Count
Source
473
412k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
474
412k
    {
475
412k
    }
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, void>(std::__1::in_place_t, scn::v4::detail::basic_scan_buffer<char>::forward_iterator&&)
Line
Count
Source
473
609k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
474
609k
    {
475
609k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>&&)
Line
Count
Source
473
412k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
474
412k
    {
475
412k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>&&)
Line
Count
Source
473
412k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
474
412k
    {
475
412k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&&)
scn::v4::detail::expected_storage_base<std::__1::pair<char const*, long>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<char const*, long>, void>(std::__1::in_place_t, std::__1::pair<char const*, long>&&)
Line
Count
Source
473
595k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
474
595k
    {
475
595k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&&)
scn::v4::detail::expected_storage_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<char const*, scn::v4::impl::sign_type>&&)
Line
Count
Source
473
414k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
474
414k
    {
475
414k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<char const*>, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<char const*>&&)
Line
Count
Source
473
414k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
474
414k
    {
475
414k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<char const*>, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<char const*>&&)
Line
Count
Source
473
414k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
474
414k
    {
475
414k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<char const*, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::scan_error, true>::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator const&, void>(std::__1::in_place_t, scn::v4::detail::basic_scan_buffer<char>::forward_iterator const&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&)
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, void>(std::__1::in_place_t, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&&)
Line
Count
Source
473
364k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
474
364k
    {
475
364k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>&&)
Line
Count
Source
473
101k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
474
101k
    {
475
101k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&&)
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&, void>(std::__1::in_place_t, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&)
Line
Count
Source
473
2.41k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
474
2.41k
    {
475
2.41k
    }
scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>&&)
Line
Count
Source
473
125k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
474
125k
    {
475
125k
    }
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, void>(std::__1::in_place_t, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&&)
Line
Count
Source
473
84.0k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
474
84.0k
    {
475
84.0k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>&&)
Line
Count
Source
473
125k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
474
125k
    {
475
125k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>&&)
Line
Count
Source
473
125k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
474
125k
    {
475
125k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&&)
scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, long>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<wchar_t const*, long>, void>(std::__1::in_place_t, std::__1::pair<wchar_t const*, long>&&)
Line
Count
Source
473
101k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
474
101k
    {
475
101k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&&)
scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>&&)
Line
Count
Source
473
125k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
474
125k
    {
475
125k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<wchar_t const*>&&)
Line
Count
Source
473
125k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
474
125k
    {
475
125k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<wchar_t const*>&&)
Line
Count
Source
473
125k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
474
125k
    {
475
125k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::scan_error, true>::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator const&, void>(std::__1::in_place_t, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator const&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(std::__1::in_place_t, scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, void>(std::__1::in_place_t, scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(std::__1::in_place_t, scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
scn::v4::detail::expected_storage_base<char const*, scn::v4::scan_error, true>::expected_storage_base<char const*, void>(std::__1::in_place_t, char const*&&)
Line
Count
Source
473
2.50M
        : m_value(std::forward<Args>(args)...), m_has_value(true)
474
2.50M
    {
475
2.50M
    }
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::scan_error, true>::expected_storage_base<wchar_t const*, void>(std::__1::in_place_t, wchar_t const*&&)
Line
Count
Source
473
247k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
474
247k
    {
475
247k
    }
scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::eof_error, true>::expected_storage_base<char const*, void>(std::__1::in_place_t, char const*&&)
Line
Count
Source
473
936k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
474
936k
    {
475
936k
    }
scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::parse_error, true>::expected_storage_base<char const*&, void>(std::__1::in_place_t, char const*&)
Line
Count
Source
473
139k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
474
139k
    {
475
139k
    }
scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::parse_error, true>::expected_storage_base<char const*, void>(std::__1::in_place_t, char const*&&)
Line
Count
Source
473
2.59k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
474
2.59k
    {
475
2.59k
    }
scn::v4::detail::expected_storage_base<long, scn::v4::scan_error, true>::expected_storage_base<long, void>(std::__1::in_place_t, long&&)
Line
Count
Source
473
732k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
474
732k
    {
475
732k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<char const*, scn::v4::scan_error, true>::expected_storage_base<char const*&, void>(std::__1::in_place_t, char const*&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<char const*, scn::v4::scan_error, true>::expected_storage_base<char const* const&, void>(std::__1::in_place_t, char const* const&)
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::eof_error, true>::expected_storage_base<wchar_t const*, void>(std::__1::in_place_t, wchar_t const*&&)
Line
Count
Source
473
364k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
474
364k
    {
475
364k
    }
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::parse_error, true>::expected_storage_base<wchar_t const*&, void>(std::__1::in_place_t, wchar_t const*&)
Line
Count
Source
473
2.41k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
474
2.41k
    {
475
2.41k
    }
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::parse_error, true>::expected_storage_base<wchar_t const*, void>(std::__1::in_place_t, wchar_t const*&&)
Line
Count
Source
473
81.2k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
474
81.2k
    {
475
81.2k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::scan_error, true>::expected_storage_base<wchar_t const*&, void>(std::__1::in_place_t, wchar_t const*&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::scan_error, true>::expected_storage_base<wchar_t const* const&, void>(std::__1::in_place_t, wchar_t const* const&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<wchar_t, scn::v4::scan_error, true>::expected_storage_base<wchar_t, void>(std::__1::in_place_t, wchar_t&&)
476
477
    template <typename... Args,
478
              typename = std::enable_if_t<std::is_constructible_v<E, Args...>>>
479
    constexpr explicit expected_storage_base(
480
        unexpect_t,
481
        Args&&... args) noexcept(std::is_nothrow_constructible_v<E, Args...>)
482
5.04M
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
483
5.04M
          m_has_value(false)
484
5.04M
    {
485
5.04M
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
482
14.4k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
483
14.4k
          m_has_value(false)
484
14.4k
    {
485
14.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
482
86.6k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
483
86.6k
          m_has_value(false)
484
86.6k
    {
485
86.6k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
482
14.4k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
483
14.4k
          m_has_value(false)
484
14.4k
    {
485
14.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
482
14.4k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
483
14.4k
          m_has_value(false)
484
14.4k
    {
485
14.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
482
14.4k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
483
14.4k
          m_has_value(false)
484
14.4k
    {
485
14.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
482
14.4k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
483
14.4k
          m_has_value(false)
484
14.4k
    {
485
14.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
482
14.4k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
483
14.4k
          m_has_value(false)
484
14.4k
    {
485
14.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
482
14.4k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
483
14.4k
          m_has_value(false)
484
14.4k
    {
485
14.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
482
86.6k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
483
86.6k
          m_has_value(false)
484
86.6k
    {
485
86.6k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
482
14.4k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
483
14.4k
          m_has_value(false)
484
14.4k
    {
485
14.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
482
14.4k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
483
14.4k
          m_has_value(false)
484
14.4k
    {
485
14.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
482
14.4k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
483
14.4k
          m_has_value(false)
484
14.4k
    {
485
14.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
482
14.4k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
483
14.4k
          m_has_value(false)
484
14.4k
    {
485
14.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
482
14.4k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
483
14.4k
          m_has_value(false)
484
14.4k
    {
485
14.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
482
28.8k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
483
28.8k
          m_has_value(false)
484
28.8k
    {
485
28.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
482
173k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
483
173k
          m_has_value(false)
484
173k
    {
485
173k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
482
28.8k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
483
28.8k
          m_has_value(false)
484
28.8k
    {
485
28.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
482
28.8k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
483
28.8k
          m_has_value(false)
484
28.8k
    {
485
28.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
482
28.8k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
483
28.8k
          m_has_value(false)
484
28.8k
    {
485
28.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
482
28.8k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
483
28.8k
          m_has_value(false)
484
28.8k
    {
485
28.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
482
28.8k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
483
28.8k
          m_has_value(false)
484
28.8k
    {
485
28.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
482
28.8k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
483
28.8k
          m_has_value(false)
484
28.8k
    {
485
28.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
482
173k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
483
173k
          m_has_value(false)
484
173k
    {
485
173k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
482
28.8k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
483
28.8k
          m_has_value(false)
484
28.8k
    {
485
28.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
482
28.8k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
483
28.8k
          m_has_value(false)
484
28.8k
    {
485
28.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
482
28.8k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
483
28.8k
          m_has_value(false)
484
28.8k
    {
485
28.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
482
28.8k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
483
28.8k
          m_has_value(false)
484
28.8k
    {
485
28.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
482
28.8k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
483
28.8k
          m_has_value(false)
484
28.8k
    {
485
28.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
482
142k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
483
142k
          m_has_value(false)
484
142k
    {
485
142k
    }
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
482
328k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
483
328k
          m_has_value(false)
484
328k
    {
485
328k
    }
scn::v4::detail::expected_storage_base<long, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
482
520k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
483
520k
          m_has_value(false)
484
520k
    {
485
520k
    }
scn::v4::detail::expected_storage_base<char const*, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
482
171k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
483
171k
          m_has_value(false)
484
171k
    {
485
171k
    }
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
482
329k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
483
329k
          m_has_value(false)
484
329k
    {
485
329k
    }
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Line
Count
Source
482
23.8k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
483
23.8k
          m_has_value(false)
484
23.8k
    {
485
23.8k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
482
9.70k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
483
9.70k
          m_has_value(false)
484
9.70k
    {
485
9.70k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error::code, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error::code&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Line
Count
Source
482
23.2k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
483
23.2k
          m_has_value(false)
484
23.2k
    {
485
23.2k
    }
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error::code, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error::code&&)
Line
Count
Source
482
840k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
483
840k
          m_has_value(false)
484
840k
    {
485
840k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Line
Count
Source
482
11.5k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
483
11.5k
          m_has_value(false)
484
11.5k
    {
485
11.5k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
scn::v4::detail::expected_storage_base<std::__1::pair<char const*, long>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
482
8.74k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
483
8.74k
          m_has_value(false)
484
8.74k
    {
485
8.74k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error::code, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error::code&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Line
Count
Source
482
12.0k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
483
12.0k
          m_has_value(false)
484
12.0k
    {
485
12.0k
    }
scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error::code, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error::code&&)
Line
Count
Source
482
814k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
483
814k
          m_has_value(false)
484
814k
    {
485
814k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Line
Count
Source
482
20.6k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
483
20.6k
          m_has_value(false)
484
20.6k
    {
485
20.6k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
482
1.41k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
483
1.41k
          m_has_value(false)
484
1.41k
    {
485
1.41k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error::code, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error::code&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Line
Count
Source
482
37.8k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
483
37.8k
          m_has_value(false)
484
37.8k
    {
485
37.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error::code, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error::code&&)
Line
Count
Source
482
375k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
483
375k
          m_has_value(false)
484
375k
    {
485
375k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Line
Count
Source
482
20.6k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
483
20.6k
          m_has_value(false)
484
20.6k
    {
485
20.6k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, long>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
482
1.41k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
483
1.41k
          m_has_value(false)
484
1.41k
    {
485
1.41k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error::code, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error::code&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Line
Count
Source
482
37.8k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
483
37.8k
          m_has_value(false)
484
37.8k
    {
485
37.8k
    }
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error::code, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error::code&&)
Line
Count
Source
482
270k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
483
270k
          m_has_value(false)
484
270k
    {
485
270k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
486
487
    constexpr T& get_value() & noexcept
488
16.2M
    {
489
16.2M
        return m_value;
490
16.2M
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
488
190k
    {
489
190k
        return m_value;
490
190k
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
488
363k
    {
489
363k
        return m_value;
490
363k
    }
scn::v4::detail::expected_storage_base<long, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
488
1.09M
    {
489
1.09M
        return m_value;
490
1.09M
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
488
163k
    {
489
163k
        return m_value;
490
163k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
488
228k
    {
489
228k
        return m_value;
490
228k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
488
180k
    {
489
180k
        return m_value;
490
180k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
488
232k
    {
489
232k
        return m_value;
490
232k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
488
182k
    {
489
182k
        return m_value;
490
182k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
488
190k
    {
489
190k
        return m_value;
490
190k
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
488
362k
    {
489
362k
        return m_value;
490
362k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
488
163k
    {
489
163k
        return m_value;
490
163k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
488
226k
    {
489
226k
        return m_value;
490
226k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
488
180k
    {
489
180k
        return m_value;
490
180k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
488
230k
    {
489
230k
        return m_value;
490
230k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
488
182k
    {
489
182k
        return m_value;
490
182k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
488
30.2k
    {
489
30.2k
        return m_value;
490
30.2k
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
488
3.09k
    {
489
3.09k
        return m_value;
490
3.09k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
488
30.0k
    {
489
30.0k
        return m_value;
490
30.0k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
488
30.5k
    {
489
30.5k
        return m_value;
490
30.5k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
488
30.2k
    {
489
30.2k
        return m_value;
490
30.2k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
488
30.9k
    {
489
30.9k
        return m_value;
490
30.9k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
488
30.5k
    {
489
30.5k
        return m_value;
490
30.5k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
488
30.2k
    {
489
30.2k
        return m_value;
490
30.2k
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
488
3.09k
    {
489
3.09k
        return m_value;
490
3.09k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
488
30.0k
    {
489
30.0k
        return m_value;
490
30.0k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
488
30.5k
    {
489
30.5k
        return m_value;
490
30.5k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
488
30.2k
    {
489
30.2k
        return m_value;
490
30.2k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
488
30.9k
    {
489
30.9k
        return m_value;
490
30.9k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
488
30.5k
    {
489
30.5k
        return m_value;
490
30.5k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<wchar_t, scn::v4::scan_error, true>::get_value() &
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::eof_error, true>::get_value() &
Line
Count
Source
488
834k
    {
489
834k
        return m_value;
490
834k
    }
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::eof_error, true>::get_value() &
Line
Count
Source
488
208k
    {
489
208k
        return m_value;
490
208k
    }
scn::v4::detail::expected_storage_base<char const*, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
488
2.50M
    {
489
2.50M
        return m_value;
490
2.50M
    }
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
488
247k
    {
489
247k
        return m_value;
490
247k
    }
scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::eof_error, true>::get_value() &
Line
Count
Source
488
510k
    {
489
510k
        return m_value;
490
510k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error, true>::get_value() &
scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
488
595k
    {
489
595k
        return m_value;
490
595k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::get_value() &
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error, true>::get_value() &
Line
Count
Source
488
748k
    {
489
748k
        return m_value;
490
748k
    }
scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() &
Line
Count
Source
488
412k
    {
489
412k
        return m_value;
490
412k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::impl::eof_error, true>::get_value() &
Line
Count
Source
488
412k
    {
489
412k
        return m_value;
490
412k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
488
412k
    {
489
412k
        return m_value;
490
412k
    }
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
488
1.33M
    {
489
1.33M
        return m_value;
490
1.33M
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, scn::v4::scan_error, true>::get_value() &
scn::v4::detail::expected_storage_base<std::__1::pair<char const*, long>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
488
595k
    {
489
595k
        return m_value;
490
595k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::scan_error, true>::get_value() &
scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::parse_error, true>::get_value() &
Line
Count
Source
488
141k
    {
489
141k
        return m_value;
490
141k
    }
scn::v4::detail::expected_storage_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() &
Line
Count
Source
488
414k
    {
489
414k
        return m_value;
490
414k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::impl::eof_error, true>::get_value() &
Line
Count
Source
488
414k
    {
489
414k
        return m_value;
490
414k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
488
414k
    {
489
414k
        return m_value;
490
414k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error, true>::get_value() &
scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
488
101k
    {
489
101k
        return m_value;
490
101k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::get_value() &
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error, true>::get_value() &
Line
Count
Source
488
86.4k
    {
489
86.4k
        return m_value;
490
86.4k
    }
scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() &
Line
Count
Source
488
125k
    {
489
125k
        return m_value;
490
125k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::impl::eof_error, true>::get_value() &
Line
Count
Source
488
125k
    {
489
125k
        return m_value;
490
125k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
488
125k
    {
489
125k
        return m_value;
490
125k
    }
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
488
133k
    {
489
133k
        return m_value;
490
133k
    }
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::eof_error, true>::get_value() &
Line
Count
Source
488
208k
    {
489
208k
        return m_value;
490
208k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, scn::v4::scan_error, true>::get_value() &
scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, long>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
488
101k
    {
489
101k
        return m_value;
490
101k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::scan_error, true>::get_value() &
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::parse_error, true>::get_value() &
Line
Count
Source
488
83.6k
    {
489
83.6k
        return m_value;
490
83.6k
    }
scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() &
Line
Count
Source
488
125k
    {
489
125k
        return m_value;
490
125k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::impl::eof_error, true>::get_value() &
Line
Count
Source
488
125k
    {
489
125k
        return m_value;
490
125k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
488
125k
    {
489
125k
        return m_value;
490
125k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::get_value() &
491
    constexpr const T& get_value() const& noexcept
492
0
    {
493
0
        return m_value;
494
0
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::parse_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::parse_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_value() const &
495
    constexpr T&& get_value() && noexcept
496
0
    {
497
0
        return std::move(m_value);
498
0
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v4::scan_error, true>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v4::scan_error, true>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, true>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, true>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v4::scan_error, true>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v4::scan_error, true>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v4::scan_error, true>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v4::scan_error, true>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v4::scan_error, true>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v4::scan_error, true>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v4::scan_error, true>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v4::scan_error, true>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v4::scan_error, true>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v4::scan_error, true>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, true>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, true>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v4::scan_error, true>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v4::scan_error, true>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v4::scan_error, true>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v4::scan_error, true>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v4::scan_error, true>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v4::scan_error, true>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v4::scan_error, true>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v4::scan_error, true>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, true>::get_value() &&
499
    constexpr const T&& get_value() const&& noexcept
500
    {
501
        return std::move(m_value);
502
    }
503
504
    constexpr unexpected<E>& get_unexpected() & noexcept
505
3.77M
    {
506
3.77M
        return m_unexpected;
507
3.77M
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
505
86.6k
    {
506
86.6k
        return m_unexpected;
507
86.6k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
505
14.4k
    {
506
14.4k
        return m_unexpected;
507
14.4k
    }
scn::v4::detail::expected_storage_base<long, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
505
520k
    {
506
520k
        return m_unexpected;
507
520k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
505
14.4k
    {
506
14.4k
        return m_unexpected;
507
14.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
505
14.4k
    {
506
14.4k
        return m_unexpected;
507
14.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
505
14.4k
    {
506
14.4k
        return m_unexpected;
507
14.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
505
14.4k
    {
506
14.4k
        return m_unexpected;
507
14.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
505
14.4k
    {
506
14.4k
        return m_unexpected;
507
14.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
505
86.6k
    {
506
86.6k
        return m_unexpected;
507
86.6k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
505
14.4k
    {
506
14.4k
        return m_unexpected;
507
14.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
505
14.4k
    {
506
14.4k
        return m_unexpected;
507
14.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
505
14.4k
    {
506
14.4k
        return m_unexpected;
507
14.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
505
14.4k
    {
506
14.4k
        return m_unexpected;
507
14.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
505
14.4k
    {
506
14.4k
        return m_unexpected;
507
14.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
505
14.4k
    {
506
14.4k
        return m_unexpected;
507
14.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
505
173k
    {
506
173k
        return m_unexpected;
507
173k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
505
28.8k
    {
506
28.8k
        return m_unexpected;
507
28.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
505
28.8k
    {
506
28.8k
        return m_unexpected;
507
28.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
505
28.8k
    {
506
28.8k
        return m_unexpected;
507
28.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
505
28.8k
    {
506
28.8k
        return m_unexpected;
507
28.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
505
28.8k
    {
506
28.8k
        return m_unexpected;
507
28.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
505
28.8k
    {
506
28.8k
        return m_unexpected;
507
28.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
505
173k
    {
506
173k
        return m_unexpected;
507
173k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
505
28.8k
    {
506
28.8k
        return m_unexpected;
507
28.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
505
28.8k
    {
506
28.8k
        return m_unexpected;
507
28.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
505
28.8k
    {
506
28.8k
        return m_unexpected;
507
28.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
505
28.8k
    {
506
28.8k
        return m_unexpected;
507
28.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
505
28.8k
    {
506
28.8k
        return m_unexpected;
507
28.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
505
28.8k
    {
506
28.8k
        return m_unexpected;
507
28.8k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<wchar_t, scn::v4::scan_error, true>::get_unexpected() &
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::eof_error, true>::get_unexpected() &
Line
Count
Source
505
23.8k
    {
506
23.8k
        return m_unexpected;
507
23.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::eof_error, true>::get_unexpected() &
Line
Count
Source
505
20.6k
    {
506
20.6k
        return m_unexpected;
507
20.6k
    }
scn::v4::detail::expected_storage_base<char const*, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
505
171k
    {
506
171k
        return m_unexpected;
507
171k
    }
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
505
329k
    {
506
329k
        return m_unexpected;
507
329k
    }
scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::eof_error, true>::get_unexpected() &
Line
Count
Source
505
11.5k
    {
506
11.5k
        return m_unexpected;
507
11.5k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error, true>::get_unexpected() &
scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
505
9.70k
    {
506
9.70k
        return m_unexpected;
507
9.70k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::get_unexpected() &
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error, true>::get_unexpected() &
Line
Count
Source
505
397k
    {
506
397k
        return m_unexpected;
507
397k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::scan_error, true>::get_unexpected() &
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
505
142k
    {
506
142k
        return m_unexpected;
507
142k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, scn::v4::scan_error, true>::get_unexpected() &
scn::v4::detail::expected_storage_base<std::__1::pair<char const*, long>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
505
8.74k
    {
506
8.74k
        return m_unexpected;
507
8.74k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::scan_error, true>::get_unexpected() &
scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::parse_error, true>::get_unexpected() &
Line
Count
Source
505
359k
    {
506
359k
        return m_unexpected;
507
359k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error, true>::get_unexpected() &
scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
505
1.41k
    {
506
1.41k
        return m_unexpected;
507
1.41k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::get_unexpected() &
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error, true>::get_unexpected() &
Line
Count
Source
505
247k
    {
506
247k
        return m_unexpected;
507
247k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::scan_error, true>::get_unexpected() &
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
505
328k
    {
506
328k
        return m_unexpected;
507
328k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, scn::v4::scan_error, true>::get_unexpected() &
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::eof_error, true>::get_unexpected() &
Line
Count
Source
505
20.6k
    {
506
20.6k
        return m_unexpected;
507
20.6k
    }
scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, long>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
505
1.41k
    {
506
1.41k
        return m_unexpected;
507
1.41k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::scan_error, true>::get_unexpected() &
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::parse_error, true>::get_unexpected() &
Line
Count
Source
505
142k
    {
506
142k
        return m_unexpected;
507
142k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::get_unexpected() &
508
    constexpr const unexpected<E>& get_unexpected() const& noexcept
509
0
    {
510
0
        return m_unexpected;
511
0
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::parse_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::parse_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_unexpected() const &
512
    constexpr unexpected<E>&& get_unexpected() && noexcept
513
520k
    {
514
520k
        return std::move(m_unexpected);
515
520k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v4::scan_error, true>::get_unexpected() &&
Line
Count
Source
513
14.4k
    {
514
14.4k
        return std::move(m_unexpected);
515
14.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v4::scan_error, true>::get_unexpected() &&
Line
Count
Source
513
14.4k
    {
514
14.4k
        return std::move(m_unexpected);
515
14.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, true>::get_unexpected() &&
Line
Count
Source
513
14.4k
    {
514
14.4k
        return std::move(m_unexpected);
515
14.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, true>::get_unexpected() &&
Line
Count
Source
513
14.4k
    {
514
14.4k
        return std::move(m_unexpected);
515
14.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v4::scan_error, true>::get_unexpected() &&
Line
Count
Source
513
14.4k
    {
514
14.4k
        return std::move(m_unexpected);
515
14.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v4::scan_error, true>::get_unexpected() &&
Line
Count
Source
513
14.4k
    {
514
14.4k
        return std::move(m_unexpected);
515
14.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v4::scan_error, true>::get_unexpected() &&
Line
Count
Source
513
14.4k
    {
514
14.4k
        return std::move(m_unexpected);
515
14.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v4::scan_error, true>::get_unexpected() &&
Line
Count
Source
513
14.4k
    {
514
14.4k
        return std::move(m_unexpected);
515
14.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v4::scan_error, true>::get_unexpected() &&
Line
Count
Source
513
14.4k
    {
514
14.4k
        return std::move(m_unexpected);
515
14.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v4::scan_error, true>::get_unexpected() &&
Line
Count
Source
513
14.4k
    {
514
14.4k
        return std::move(m_unexpected);
515
14.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v4::scan_error, true>::get_unexpected() &&
Line
Count
Source
513
14.4k
    {
514
14.4k
        return std::move(m_unexpected);
515
14.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v4::scan_error, true>::get_unexpected() &&
Line
Count
Source
513
14.4k
    {
514
14.4k
        return std::move(m_unexpected);
515
14.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v4::scan_error, true>::get_unexpected() &&
Line
Count
Source
513
28.8k
    {
514
28.8k
        return std::move(m_unexpected);
515
28.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v4::scan_error, true>::get_unexpected() &&
Line
Count
Source
513
28.8k
    {
514
28.8k
        return std::move(m_unexpected);
515
28.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, true>::get_unexpected() &&
Line
Count
Source
513
28.8k
    {
514
28.8k
        return std::move(m_unexpected);
515
28.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, true>::get_unexpected() &&
Line
Count
Source
513
28.8k
    {
514
28.8k
        return std::move(m_unexpected);
515
28.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v4::scan_error, true>::get_unexpected() &&
Line
Count
Source
513
28.8k
    {
514
28.8k
        return std::move(m_unexpected);
515
28.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v4::scan_error, true>::get_unexpected() &&
Line
Count
Source
513
28.8k
    {
514
28.8k
        return std::move(m_unexpected);
515
28.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v4::scan_error, true>::get_unexpected() &&
Line
Count
Source
513
28.8k
    {
514
28.8k
        return std::move(m_unexpected);
515
28.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v4::scan_error, true>::get_unexpected() &&
Line
Count
Source
513
28.8k
    {
514
28.8k
        return std::move(m_unexpected);
515
28.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v4::scan_error, true>::get_unexpected() &&
Line
Count
Source
513
28.8k
    {
514
28.8k
        return std::move(m_unexpected);
515
28.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v4::scan_error, true>::get_unexpected() &&
Line
Count
Source
513
28.8k
    {
514
28.8k
        return std::move(m_unexpected);
515
28.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v4::scan_error, true>::get_unexpected() &&
Line
Count
Source
513
28.8k
    {
514
28.8k
        return std::move(m_unexpected);
515
28.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v4::scan_error, true>::get_unexpected() &&
Line
Count
Source
513
28.8k
    {
514
28.8k
        return std::move(m_unexpected);
515
28.8k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, true>::get_unexpected() &&
516
    constexpr const unexpected<E>&& get_unexpected() const&& noexcept
517
    {
518
        return std::move(m_unexpected);
519
    }
520
521
    SCN_NODISCARD constexpr bool has_value() const noexcept
522
41.2M
    {
523
41.2M
        return m_has_value;
524
41.2M
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
522
900k
    {
523
900k
        return m_has_value;
524
900k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
522
292k
    {
523
292k
        return m_has_value;
524
292k
    }
scn::v4::detail::expected_storage_base<long, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
522
3.49M
    {
523
3.49M
        return m_has_value;
524
3.49M
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
522
256k
    {
523
256k
        return m_has_value;
524
256k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
522
342k
    {
523
342k
        return m_has_value;
524
342k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
522
278k
    {
523
278k
        return m_has_value;
524
278k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
522
348k
    {
523
348k
        return m_has_value;
524
348k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
522
281k
    {
523
281k
        return m_has_value;
524
281k
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
522
898k
    {
523
898k
        return m_has_value;
524
898k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
522
292k
    {
523
292k
        return m_has_value;
524
292k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
522
256k
    {
523
256k
        return m_has_value;
524
256k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
522
340k
    {
523
340k
        return m_has_value;
524
340k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
522
278k
    {
523
278k
        return m_has_value;
524
278k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
522
346k
    {
523
346k
        return m_has_value;
524
346k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
522
281k
    {
523
281k
        return m_has_value;
524
281k
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
522
352k
    {
523
352k
        return m_has_value;
524
352k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
522
117k
    {
523
117k
        return m_has_value;
524
117k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
522
117k
    {
523
117k
        return m_has_value;
524
117k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
522
117k
    {
523
117k
        return m_has_value;
524
117k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
522
117k
    {
523
117k
        return m_has_value;
524
117k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
522
118k
    {
523
118k
        return m_has_value;
524
118k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
522
117k
    {
523
117k
        return m_has_value;
524
117k
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
522
352k
    {
523
352k
        return m_has_value;
524
352k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
522
117k
    {
523
117k
        return m_has_value;
524
117k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
522
117k
    {
523
117k
        return m_has_value;
524
117k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
522
117k
    {
523
117k
        return m_has_value;
524
117k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
522
117k
    {
523
117k
        return m_has_value;
524
117k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
522
118k
    {
523
118k
        return m_has_value;
524
118k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
522
117k
    {
523
117k
        return m_has_value;
524
117k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<wchar_t, scn::v4::scan_error, true>::has_value() const
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::eof_error, true>::has_value() const
Line
Count
Source
522
2.14M
    {
523
2.14M
        return m_has_value;
524
2.14M
    }
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::eof_error, true>::has_value() const
Line
Count
Source
522
614k
    {
523
614k
        return m_has_value;
524
614k
    }
scn::v4::detail::expected_storage_base<char const*, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
522
5.35M
    {
523
5.35M
        return m_has_value;
524
5.35M
    }
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
522
1.15M
    {
523
1.15M
        return m_has_value;
524
1.15M
    }
scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::eof_error, true>::has_value() const
Line
Count
Source
522
1.47M
    {
523
1.47M
        return m_has_value;
524
1.47M
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error, true>::has_value() const
scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
522
1.20M
    {
523
1.20M
        return m_has_value;
524
1.20M
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::has_value() const
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error, true>::has_value() const
Line
Count
Source
522
2.75M
    {
523
2.75M
        return m_has_value;
524
2.75M
    }
scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::has_value() const
Line
Count
Source
522
825k
    {
523
825k
        return m_has_value;
524
825k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::impl::eof_error, true>::has_value() const
Line
Count
Source
522
825k
    {
523
825k
        return m_has_value;
524
825k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
522
825k
    {
523
825k
        return m_has_value;
524
825k
    }
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
522
2.96M
    {
523
2.96M
        return m_has_value;
524
2.96M
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, scn::v4::scan_error, true>::has_value() const
scn::v4::detail::expected_storage_base<std::__1::pair<char const*, long>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
522
1.20M
    {
523
1.20M
        return m_has_value;
524
1.20M
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::scan_error, true>::has_value() const
scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::parse_error, true>::has_value() const
Line
Count
Source
522
1.47M
    {
523
1.47M
        return m_has_value;
524
1.47M
    }
scn::v4::detail::expected_storage_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::has_value() const
Line
Count
Source
522
828k
    {
523
828k
        return m_has_value;
524
828k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::impl::eof_error, true>::has_value() const
Line
Count
Source
522
828k
    {
523
828k
        return m_has_value;
524
828k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
522
828k
    {
523
828k
        return m_has_value;
524
828k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error, true>::has_value() const
scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
522
206k
    {
523
206k
        return m_has_value;
524
206k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::has_value() const
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error, true>::has_value() const
Line
Count
Source
522
833k
    {
523
833k
        return m_has_value;
524
833k
    }
scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::has_value() const
Line
Count
Source
522
250k
    {
523
250k
        return m_has_value;
524
250k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::impl::eof_error, true>::has_value() const
Line
Count
Source
522
250k
    {
523
250k
        return m_has_value;
524
250k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
522
250k
    {
523
250k
        return m_has_value;
524
250k
    }
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
522
923k
    {
523
923k
        return m_has_value;
524
923k
    }
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::eof_error, true>::has_value() const
Line
Count
Source
522
614k
    {
523
614k
        return m_has_value;
524
614k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, scn::v4::scan_error, true>::has_value() const
scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, long>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
522
206k
    {
523
206k
        return m_has_value;
524
206k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::scan_error, true>::has_value() const
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::parse_error, true>::has_value() const
Line
Count
Source
522
618k
    {
523
618k
        return m_has_value;
524
618k
    }
scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::has_value() const
Line
Count
Source
522
250k
    {
523
250k
        return m_has_value;
524
250k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::impl::eof_error, true>::has_value() const
Line
Count
Source
522
250k
    {
523
250k
        return m_has_value;
524
250k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
522
250k
    {
523
250k
        return m_has_value;
524
250k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::has_value() const
525
526
    template <typename... Args>
527
    void construct(Args&&... args) noexcept(
528
        std::is_nothrow_constructible_v<T, Args...>)
529
0
    {
530
0
        scn::detail::construct_at(&get_value(), std::forward<Args>(args)...);
531
0
        m_has_value = true;
532
0
    }
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>&&)
533
    template <typename... Args>
534
    void construct_unexpected(Args&&... args) noexcept(
535
        std::is_nothrow_constructible_v<E, Args...>)
536
520k
    {
537
520k
        scn::detail::construct_at(&get_unexpected(),
538
520k
                                  std::forward<Args>(args)...);
539
520k
        m_has_value = false;
540
520k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
536
14.4k
    {
537
14.4k
        scn::detail::construct_at(&get_unexpected(),
538
14.4k
                                  std::forward<Args>(args)...);
539
14.4k
        m_has_value = false;
540
14.4k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
536
14.4k
    {
537
14.4k
        scn::detail::construct_at(&get_unexpected(),
538
14.4k
                                  std::forward<Args>(args)...);
539
14.4k
        m_has_value = false;
540
14.4k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
536
14.4k
    {
537
14.4k
        scn::detail::construct_at(&get_unexpected(),
538
14.4k
                                  std::forward<Args>(args)...);
539
14.4k
        m_has_value = false;
540
14.4k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
536
14.4k
    {
537
14.4k
        scn::detail::construct_at(&get_unexpected(),
538
14.4k
                                  std::forward<Args>(args)...);
539
14.4k
        m_has_value = false;
540
14.4k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
536
14.4k
    {
537
14.4k
        scn::detail::construct_at(&get_unexpected(),
538
14.4k
                                  std::forward<Args>(args)...);
539
14.4k
        m_has_value = false;
540
14.4k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
536
14.4k
    {
537
14.4k
        scn::detail::construct_at(&get_unexpected(),
538
14.4k
                                  std::forward<Args>(args)...);
539
14.4k
        m_has_value = false;
540
14.4k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
536
14.4k
    {
537
14.4k
        scn::detail::construct_at(&get_unexpected(),
538
14.4k
                                  std::forward<Args>(args)...);
539
14.4k
        m_has_value = false;
540
14.4k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
536
14.4k
    {
537
14.4k
        scn::detail::construct_at(&get_unexpected(),
538
14.4k
                                  std::forward<Args>(args)...);
539
14.4k
        m_has_value = false;
540
14.4k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
536
14.4k
    {
537
14.4k
        scn::detail::construct_at(&get_unexpected(),
538
14.4k
                                  std::forward<Args>(args)...);
539
14.4k
        m_has_value = false;
540
14.4k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
536
14.4k
    {
537
14.4k
        scn::detail::construct_at(&get_unexpected(),
538
14.4k
                                  std::forward<Args>(args)...);
539
14.4k
        m_has_value = false;
540
14.4k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
536
14.4k
    {
537
14.4k
        scn::detail::construct_at(&get_unexpected(),
538
14.4k
                                  std::forward<Args>(args)...);
539
14.4k
        m_has_value = false;
540
14.4k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
536
14.4k
    {
537
14.4k
        scn::detail::construct_at(&get_unexpected(),
538
14.4k
                                  std::forward<Args>(args)...);
539
14.4k
        m_has_value = false;
540
14.4k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
536
28.8k
    {
537
28.8k
        scn::detail::construct_at(&get_unexpected(),
538
28.8k
                                  std::forward<Args>(args)...);
539
28.8k
        m_has_value = false;
540
28.8k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
536
28.8k
    {
537
28.8k
        scn::detail::construct_at(&get_unexpected(),
538
28.8k
                                  std::forward<Args>(args)...);
539
28.8k
        m_has_value = false;
540
28.8k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
536
28.8k
    {
537
28.8k
        scn::detail::construct_at(&get_unexpected(),
538
28.8k
                                  std::forward<Args>(args)...);
539
28.8k
        m_has_value = false;
540
28.8k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
536
28.8k
    {
537
28.8k
        scn::detail::construct_at(&get_unexpected(),
538
28.8k
                                  std::forward<Args>(args)...);
539
28.8k
        m_has_value = false;
540
28.8k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
536
28.8k
    {
537
28.8k
        scn::detail::construct_at(&get_unexpected(),
538
28.8k
                                  std::forward<Args>(args)...);
539
28.8k
        m_has_value = false;
540
28.8k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
536
28.8k
    {
537
28.8k
        scn::detail::construct_at(&get_unexpected(),
538
28.8k
                                  std::forward<Args>(args)...);
539
28.8k
        m_has_value = false;
540
28.8k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
536
28.8k
    {
537
28.8k
        scn::detail::construct_at(&get_unexpected(),
538
28.8k
                                  std::forward<Args>(args)...);
539
28.8k
        m_has_value = false;
540
28.8k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
536
28.8k
    {
537
28.8k
        scn::detail::construct_at(&get_unexpected(),
538
28.8k
                                  std::forward<Args>(args)...);
539
28.8k
        m_has_value = false;
540
28.8k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
536
28.8k
    {
537
28.8k
        scn::detail::construct_at(&get_unexpected(),
538
28.8k
                                  std::forward<Args>(args)...);
539
28.8k
        m_has_value = false;
540
28.8k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
536
28.8k
    {
537
28.8k
        scn::detail::construct_at(&get_unexpected(),
538
28.8k
                                  std::forward<Args>(args)...);
539
28.8k
        m_has_value = false;
540
28.8k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
536
28.8k
    {
537
28.8k
        scn::detail::construct_at(&get_unexpected(),
538
28.8k
                                  std::forward<Args>(args)...);
539
28.8k
        m_has_value = false;
540
28.8k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
536
28.8k
    {
537
28.8k
        scn::detail::construct_at(&get_unexpected(),
538
28.8k
                                  std::forward<Args>(args)...);
539
28.8k
        m_has_value = false;
540
28.8k
    }
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
541
542
    // No-op, because T and E are trivially destructible
543
520k
    static constexpr void destroy_value() noexcept {}
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v4::scan_error, true>::destroy_value()
Line
Count
Source
543
14.4k
    static constexpr void destroy_value() noexcept {}
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v4::scan_error, true>::destroy_value()
Line
Count
Source
543
14.4k
    static constexpr void destroy_value() noexcept {}
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, true>::destroy_value()
Line
Count
Source
543
14.4k
    static constexpr void destroy_value() noexcept {}
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, true>::destroy_value()
Line
Count
Source
543
14.4k
    static constexpr void destroy_value() noexcept {}
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v4::scan_error, true>::destroy_value()
Line
Count
Source
543
14.4k
    static constexpr void destroy_value() noexcept {}
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v4::scan_error, true>::destroy_value()
Line
Count
Source
543
14.4k
    static constexpr void destroy_value() noexcept {}
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v4::scan_error, true>::destroy_value()
Line
Count
Source
543
14.4k
    static constexpr void destroy_value() noexcept {}
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v4::scan_error, true>::destroy_value()
Line
Count
Source
543
14.4k
    static constexpr void destroy_value() noexcept {}
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v4::scan_error, true>::destroy_value()
Line
Count
Source
543
14.4k
    static constexpr void destroy_value() noexcept {}
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v4::scan_error, true>::destroy_value()
Line
Count
Source
543
14.4k
    static constexpr void destroy_value() noexcept {}
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v4::scan_error, true>::destroy_value()
Line
Count
Source
543
14.4k
    static constexpr void destroy_value() noexcept {}
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v4::scan_error, true>::destroy_value()
Line
Count
Source
543
14.4k
    static constexpr void destroy_value() noexcept {}
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v4::scan_error, true>::destroy_value()
Line
Count
Source
543
28.8k
    static constexpr void destroy_value() noexcept {}
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v4::scan_error, true>::destroy_value()
Line
Count
Source
543
28.8k
    static constexpr void destroy_value() noexcept {}
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, true>::destroy_value()
Line
Count
Source
543
28.8k
    static constexpr void destroy_value() noexcept {}
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, true>::destroy_value()
Line
Count
Source
543
28.8k
    static constexpr void destroy_value() noexcept {}
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v4::scan_error, true>::destroy_value()
Line
Count
Source
543
28.8k
    static constexpr void destroy_value() noexcept {}
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v4::scan_error, true>::destroy_value()
Line
Count
Source
543
28.8k
    static constexpr void destroy_value() noexcept {}
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v4::scan_error, true>::destroy_value()
Line
Count
Source
543
28.8k
    static constexpr void destroy_value() noexcept {}
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v4::scan_error, true>::destroy_value()
Line
Count
Source
543
28.8k
    static constexpr void destroy_value() noexcept {}
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v4::scan_error, true>::destroy_value()
Line
Count
Source
543
28.8k
    static constexpr void destroy_value() noexcept {}
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v4::scan_error, true>::destroy_value()
Line
Count
Source
543
28.8k
    static constexpr void destroy_value() noexcept {}
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v4::scan_error, true>::destroy_value()
Line
Count
Source
543
28.8k
    static constexpr void destroy_value() noexcept {}
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v4::scan_error, true>::destroy_value()
Line
Count
Source
543
28.8k
    static constexpr void destroy_value() noexcept {}
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, true>::destroy_value()
544
0
    static constexpr void destroy_unexpected() noexcept {}
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v4::scan_error, true>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v4::scan_error, true>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, true>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, true>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v4::scan_error, true>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v4::scan_error, true>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v4::scan_error, true>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v4::scan_error, true>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v4::scan_error, true>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v4::scan_error, true>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v4::scan_error, true>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v4::scan_error, true>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v4::scan_error, true>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v4::scan_error, true>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, true>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, true>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v4::scan_error, true>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v4::scan_error, true>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v4::scan_error, true>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v4::scan_error, true>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v4::scan_error, true>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v4::scan_error, true>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v4::scan_error, true>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v4::scan_error, true>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, true>::destroy_unexpected()
545
546
private:
547
    union {
548
        T m_value;
549
        unexpected<E> m_unexpected;
550
        char m_deferred_init;
551
    };
552
    bool m_has_value;
553
};
554
555
template <typename E>
556
struct SCN_TRIVIAL_ABI expected_storage_base<void, E, true> {
557
#if SCN_STD >= SCN_STD_20
558
    constexpr expected_storage_base() noexcept : m_has_value(true) {}
559
#else
560
    constexpr expected_storage_base() noexcept
561
4.46M
        : m_deferred_init(), m_has_value(true)
562
4.46M
    {
563
4.46M
    }
564
#endif
565
566
    explicit constexpr expected_storage_base(deferred_init_tag_t) noexcept
567
        : m_deferred_init(), m_has_value(false)
568
    {
569
    }
570
571
    explicit constexpr expected_storage_base(std::in_place_t) noexcept
572
        : m_has_value(true)
573
    {
574
    }
575
576
    template <typename... Args,
577
              typename = std::enable_if_t<std::is_constructible_v<E, Args...>>>
578
    explicit constexpr expected_storage_base(
579
        unexpect_t,
580
        Args&&... args) noexcept(std::is_nothrow_constructible_v<E, Args...>)
581
777k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
582
777k
          m_has_value(false)
583
777k
    {
584
777k
    }
585
586
    constexpr unexpected<E>& get_unexpected() & noexcept
587
578k
    {
588
578k
        return m_unexpected;
589
578k
    }
590
    constexpr const unexpected<E>& get_unexpected() const& noexcept
591
    {
592
        return m_unexpected;
593
    }
594
    constexpr unexpected<E>&& get_unexpected() && noexcept
595
    {
596
        return std::move(m_unexpected);
597
    }
598
    constexpr const unexpected<E>&& get_unexpected() const&& noexcept
599
    {
600
        return std::move(m_unexpected);
601
    }
602
603
    SCN_NODISCARD constexpr bool has_value() const noexcept
604
5.81M
    {
605
5.81M
        return m_has_value;
606
5.81M
    }
607
608
    template <typename... Args>
609
    void construct(Args&&...) noexcept
610
    {
611
        m_has_value = true;
612
    }
613
    template <typename... Args>
614
    void construct_unexpected(Args&&... args) noexcept(
615
        std::is_nothrow_constructible_v<E, Args...>)
616
    {
617
        scn::detail::construct_at(&get_unexpected(),
618
                                  std::forward<Args>(args)...);
619
        m_has_value = false;
620
    }
621
622
    static constexpr void destroy_value() noexcept {}
623
    static constexpr void destroy_unexpected() noexcept {}
624
625
private:
626
    union {
627
        unexpected<E> m_unexpected;
628
        char m_deferred_init;
629
    };
630
    bool m_has_value;
631
};
632
633
/**
634
 * Implementation of `std::max` without including `<algorithm>`
635
 */
636
template <typename T>
637
constexpr T max(T a, T b) noexcept
638
0
{
639
0
    return (a < b) ? b : a;
640
0
}
641
642
template <typename T, typename E>
643
struct SCN_TRIVIAL_ABI expected_storage_base<T, E, false> {
644
0
    constexpr expected_storage_base() noexcept : m_has_value(true)
645
0
    {
646
0
        construct();
647
0
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base()
648
649
    explicit constexpr expected_storage_base(deferred_init_tag_t) noexcept
650
        : m_has_value(false)
651
    {
652
    }
653
654
    template <typename... Args,
655
              typename = std::enable_if_t<std::is_constructible_v<T, Args...>>>
656
    explicit constexpr expected_storage_base(
657
        std::in_place_t,
658
        Args&&... args) noexcept(std::is_nothrow_constructible_v<T, Args...>)
659
115k
        : m_has_value(true)
660
115k
    {
661
115k
        construct(std::forward<Args>(args)...);
662
115k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::in_place_t, std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::in_place_t, std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
659
57.4k
        : m_has_value(true)
660
57.4k
    {
661
57.4k
        construct(std::forward<Args>(args)...);
662
57.4k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::in_place_t, std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
scn::v4::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::in_place_t, std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
659
57.3k
        : m_has_value(true)
660
57.3k
    {
661
57.3k
        construct(std::forward<Args>(args)...);
662
57.3k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::in_place_t, std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::in_place_t, std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
659
550
        : m_has_value(true)
660
550
    {
661
550
        construct(std::forward<Args>(args)...);
662
550
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::in_place_t, std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
scn::v4::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::in_place_t, std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
659
550
        : m_has_value(true)
660
550
    {
661
550
        construct(std::forward<Args>(args)...);
662
550
    }
663
664
    template <typename... Args,
665
              typename = std::enable_if_t<std::is_constructible_v<E, Args...>>>
666
    explicit constexpr expected_storage_base(
667
        unexpect_t,
668
        Args&&... args) noexcept(std::is_nothrow_constructible_v<E, Args...>)
669
38.8k
        : m_has_value(false)
670
38.8k
    {
671
38.8k
        construct_unexpected(std::in_place, std::forward<Args>(args)...);
672
38.8k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
669
3.25k
        : m_has_value(false)
670
3.25k
    {
671
3.25k
        construct_unexpected(std::in_place, std::forward<Args>(args)...);
672
3.25k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
scn::v4::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
669
3.49k
        : m_has_value(false)
670
3.49k
    {
671
3.49k
        construct_unexpected(std::in_place, std::forward<Args>(args)...);
672
3.49k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
669
16.0k
        : m_has_value(false)
670
16.0k
    {
671
16.0k
        construct_unexpected(std::in_place, std::forward<Args>(args)...);
672
16.0k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
scn::v4::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
669
16.0k
        : m_has_value(false)
670
16.0k
    {
671
16.0k
        construct_unexpected(std::in_place, std::forward<Args>(args)...);
672
16.0k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
673
674
    ~expected_storage_base()
675
154k
    {
676
154k
        if (has_value()) {
677
115k
            destroy_value();
678
115k
        }
679
38.8k
        else {
680
38.8k
            destroy_unexpected();
681
38.8k
        }
682
154k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::~expected_storage_base()
scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::~expected_storage_base()
Line
Count
Source
675
60.6k
    {
676
60.6k
        if (has_value()) {
677
57.4k
            destroy_value();
678
57.4k
        }
679
3.25k
        else {
680
3.25k
            destroy_unexpected();
681
3.25k
        }
682
60.6k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::~expected_storage_base()
scn::v4::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::~expected_storage_base()
Line
Count
Source
675
60.8k
    {
676
60.8k
        if (has_value()) {
677
57.3k
            destroy_value();
678
57.3k
        }
679
3.49k
        else {
680
3.49k
            destroy_unexpected();
681
3.49k
        }
682
60.8k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::~expected_storage_base()
scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::~expected_storage_base()
Line
Count
Source
675
16.5k
    {
676
16.5k
        if (has_value()) {
677
550
            destroy_value();
678
550
        }
679
16.0k
        else {
680
16.0k
            destroy_unexpected();
681
16.0k
        }
682
16.5k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::~expected_storage_base()
scn::v4::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::~expected_storage_base()
Line
Count
Source
675
16.5k
    {
676
16.5k
        if (has_value()) {
677
550
            destroy_value();
678
550
        }
679
16.0k
        else {
680
16.0k
            destroy_unexpected();
681
16.0k
        }
682
16.5k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::~expected_storage_base()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::~expected_storage_base()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::~expected_storage_base()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::~expected_storage_base()
683
684
    constexpr T& get_value() & noexcept
685
115k
    {
686
115k
        return *value_ptr();
687
115k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &
scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &
Line
Count
Source
685
57.4k
    {
686
57.4k
        return *value_ptr();
687
57.4k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &
scn::v4::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &
Line
Count
Source
685
57.3k
    {
686
57.3k
        return *value_ptr();
687
57.3k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &
scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &
Line
Count
Source
685
550
    {
686
550
        return *value_ptr();
687
550
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &
scn::v4::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &
Line
Count
Source
685
550
    {
686
550
        return *value_ptr();
687
550
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &
688
    constexpr const T& get_value() const& noexcept
689
    {
690
        return *value_ptr();
691
    }
692
    constexpr T&& get_value() && noexcept
693
0
    {
694
0
        return std::move(*value_ptr());
695
0
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &&
696
    constexpr const T&& get_value() const&& noexcept
697
    {
698
        return std::move(*value_ptr());
699
    }
700
701
    constexpr unexpected<E>& get_unexpected() & noexcept
702
38.8k
    {
703
38.8k
        return *unexpected_ptr();
704
38.8k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &
scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &
Line
Count
Source
702
3.25k
    {
703
3.25k
        return *unexpected_ptr();
704
3.25k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &
scn::v4::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &
Line
Count
Source
702
3.49k
    {
703
3.49k
        return *unexpected_ptr();
704
3.49k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &
scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &
Line
Count
Source
702
16.0k
    {
703
16.0k
        return *unexpected_ptr();
704
16.0k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &
scn::v4::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &
Line
Count
Source
702
16.0k
    {
703
16.0k
        return *unexpected_ptr();
704
16.0k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &
705
    constexpr const unexpected<E>& get_unexpected() const& noexcept
706
    {
707
        return *unexpected_ptr();
708
    }
709
    constexpr unexpected<E>&& get_unexpected() && noexcept
710
0
    {
711
0
        return std::move(*unexpected_ptr());
712
0
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &&
713
    constexpr const unexpected<E>&& get_unexpected() const&& noexcept
714
    {
715
        return std::move(*unexpected_ptr());
716
    }
717
718
    SCN_NODISCARD constexpr bool has_value() const noexcept
719
464k
    {
720
464k
        return m_has_value;
721
464k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::has_value() const
scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::has_value() const
Line
Count
Source
719
182k
    {
720
182k
        return m_has_value;
721
182k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::has_value() const
scn::v4::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::has_value() const
Line
Count
Source
719
182k
    {
720
182k
        return m_has_value;
721
182k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::has_value() const
scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::has_value() const
Line
Count
Source
719
49.7k
    {
720
49.7k
        return m_has_value;
721
49.7k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::has_value() const
scn::v4::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::has_value() const
Line
Count
Source
719
49.7k
    {
720
49.7k
        return m_has_value;
721
49.7k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::has_value() const
722
723
    template <typename... Args>
724
    void construct(Args&&... args) noexcept(
725
        std::is_nothrow_constructible_v<T, Args...>)
726
115k
    {
727
115k
        scn::detail::construct_at(value_ptr(), std::forward<Args>(args)...);
728
115k
        m_has_value = true;
729
115k
    }
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
void scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
726
57.4k
    {
727
57.4k
        scn::detail::construct_at(value_ptr(), std::forward<Args>(args)...);
728
57.4k
        m_has_value = true;
729
57.4k
    }
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
void scn::v4::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
726
57.3k
    {
727
57.3k
        scn::detail::construct_at(value_ptr(), std::forward<Args>(args)...);
728
57.3k
        m_has_value = true;
729
57.3k
    }
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
void scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
726
550
    {
727
550
        scn::detail::construct_at(value_ptr(), std::forward<Args>(args)...);
728
550
        m_has_value = true;
729
550
    }
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
void scn::v4::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
726
550
    {
727
550
        scn::detail::construct_at(value_ptr(), std::forward<Args>(args)...);
728
550
        m_has_value = true;
729
550
    }
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<>()
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<>()
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<>()
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<>()
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
730
    template <typename... Args>
731
    void construct_unexpected(Args&&... args) noexcept(
732
        std::is_nothrow_constructible_v<E, Args...>)
733
38.8k
    {
734
38.8k
        scn::detail::construct_at(unexpected_ptr(),
735
38.8k
                                  std::forward<Args>(args)...);
736
38.8k
        m_has_value = false;
737
38.8k
    }
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v4::scan_error>(std::__1::in_place_t const&, scn::v4::scan_error&&)
void scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v4::scan_error>(std::__1::in_place_t const&, scn::v4::scan_error&&)
Line
Count
Source
733
3.25k
    {
734
3.25k
        scn::detail::construct_at(unexpected_ptr(),
735
3.25k
                                  std::forward<Args>(args)...);
736
3.25k
        m_has_value = false;
737
3.25k
    }
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v4::scan_error>(std::__1::in_place_t const&, scn::v4::scan_error&&)
void scn::v4::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v4::scan_error>(std::__1::in_place_t const&, scn::v4::scan_error&&)
Line
Count
Source
733
3.49k
    {
734
3.49k
        scn::detail::construct_at(unexpected_ptr(),
735
3.49k
                                  std::forward<Args>(args)...);
736
3.49k
        m_has_value = false;
737
3.49k
    }
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v4::scan_error>(std::__1::in_place_t const&, scn::v4::scan_error&&)
void scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v4::scan_error>(std::__1::in_place_t const&, scn::v4::scan_error&&)
Line
Count
Source
733
16.0k
    {
734
16.0k
        scn::detail::construct_at(unexpected_ptr(),
735
16.0k
                                  std::forward<Args>(args)...);
736
16.0k
        m_has_value = false;
737
16.0k
    }
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v4::scan_error>(std::__1::in_place_t const&, scn::v4::scan_error&&)
void scn::v4::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v4::scan_error>(std::__1::in_place_t const&, scn::v4::scan_error&&)
Line
Count
Source
733
16.0k
    {
734
16.0k
        scn::detail::construct_at(unexpected_ptr(),
735
16.0k
                                  std::forward<Args>(args)...);
736
16.0k
        m_has_value = false;
737
16.0k
    }
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v4::scan_error>(std::__1::in_place_t const&, scn::v4::scan_error&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v4::scan_error>(std::__1::in_place_t const&, scn::v4::scan_error&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v4::scan_error>(std::__1::in_place_t const&, scn::v4::scan_error&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v4::scan_error>(std::__1::in_place_t const&, scn::v4::scan_error&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
738
739
    void destroy_value() noexcept
740
115k
    {
741
115k
        scn::detail::destroy_at(value_ptr());
742
115k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_value()
scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_value()
Line
Count
Source
740
57.4k
    {
741
57.4k
        scn::detail::destroy_at(value_ptr());
742
57.4k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_value()
scn::v4::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_value()
Line
Count
Source
740
57.3k
    {
741
57.3k
        scn::detail::destroy_at(value_ptr());
742
57.3k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_value()
scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_value()
Line
Count
Source
740
550
    {
741
550
        scn::detail::destroy_at(value_ptr());
742
550
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_value()
scn::v4::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_value()
Line
Count
Source
740
550
    {
741
550
        scn::detail::destroy_at(value_ptr());
742
550
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_value()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_value()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_value()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_value()
743
    void destroy_unexpected() noexcept
744
38.8k
    {
745
38.8k
        scn::detail::destroy_at(unexpected_ptr());
746
38.8k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_unexpected()
scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_unexpected()
Line
Count
Source
744
3.25k
    {
745
3.25k
        scn::detail::destroy_at(unexpected_ptr());
746
3.25k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_unexpected()
scn::v4::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_unexpected()
Line
Count
Source
744
3.49k
    {
745
3.49k
        scn::detail::destroy_at(unexpected_ptr());
746
3.49k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_unexpected()
scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_unexpected()
Line
Count
Source
744
16.0k
    {
745
16.0k
        scn::detail::destroy_at(unexpected_ptr());
746
16.0k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_unexpected()
scn::v4::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_unexpected()
Line
Count
Source
744
16.0k
    {
745
16.0k
        scn::detail::destroy_at(unexpected_ptr());
746
16.0k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_unexpected()
747
748
private:
749
    T* value_ptr() noexcept
750
347k
    {
751
347k
        return reinterpret_cast<T*>(SCN_ASSUME_ALIGNED(m_memory, alignof(T)));
752
347k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::value_ptr()
scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::value_ptr()
Line
Count
Source
750
172k
    {
751
172k
        return reinterpret_cast<T*>(SCN_ASSUME_ALIGNED(m_memory, alignof(T)));
752
172k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::value_ptr()
scn::v4::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::value_ptr()
Line
Count
Source
750
172k
    {
751
172k
        return reinterpret_cast<T*>(SCN_ASSUME_ALIGNED(m_memory, alignof(T)));
752
172k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::value_ptr()
scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::value_ptr()
Line
Count
Source
750
1.65k
    {
751
1.65k
        return reinterpret_cast<T*>(SCN_ASSUME_ALIGNED(m_memory, alignof(T)));
752
1.65k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::value_ptr()
scn::v4::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::value_ptr()
Line
Count
Source
750
1.65k
    {
751
1.65k
        return reinterpret_cast<T*>(SCN_ASSUME_ALIGNED(m_memory, alignof(T)));
752
1.65k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::value_ptr()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::value_ptr()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::value_ptr()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::value_ptr()
753
    const T* value_ptr() const noexcept
754
    {
755
        return reinterpret_cast<const T*>(
756
            SCN_ASSUME_ALIGNED(m_memory, alignof(T)));
757
    }
758
759
    SCN_GCC_PUSH
760
    SCN_GCC_IGNORE("-Wcast-align")
761
    unexpected<E>* unexpected_ptr() noexcept
762
116k
    {
763
116k
        return reinterpret_cast<unexpected<E>*>(
764
116k
            SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>)));
765
116k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::unexpected_ptr()
scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::unexpected_ptr()
Line
Count
Source
762
9.77k
    {
763
9.77k
        return reinterpret_cast<unexpected<E>*>(
764
9.77k
            SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>)));
765
9.77k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::unexpected_ptr()
scn::v4::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::unexpected_ptr()
Line
Count
Source
762
10.4k
    {
763
10.4k
        return reinterpret_cast<unexpected<E>*>(
764
10.4k
            SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>)));
765
10.4k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::unexpected_ptr()
scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::unexpected_ptr()
Line
Count
Source
762
48.0k
    {
763
48.0k
        return reinterpret_cast<unexpected<E>*>(
764
48.0k
            SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>)));
765
48.0k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::unexpected_ptr()
scn::v4::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::unexpected_ptr()
Line
Count
Source
762
48.0k
    {
763
48.0k
        return reinterpret_cast<unexpected<E>*>(
764
48.0k
            SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>)));
765
48.0k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::unexpected_ptr()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::unexpected_ptr()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::unexpected_ptr()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::unexpected_ptr()
766
    const unexpected<E>* unexpected_ptr() const noexcept
767
    {
768
        return reinterpret_cast<const unexpected<E>*>(
769
            SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>)));
770
    }
771
    SCN_GCC_POP
772
773
    static constexpr std::size_t required_size =
774
        detail::max(sizeof(T), sizeof(unexpected<E>));
775
    static constexpr std::size_t required_alignment =
776
        detail::max(alignof(T), alignof(unexpected<E>));
777
778
    alignas(required_alignment) unsigned char m_memory[required_size];
779
    bool m_has_value;
780
};
781
782
template <typename E>
783
struct SCN_TRIVIAL_ABI expected_storage_base<void, E, false> {
784
    constexpr expected_storage_base() noexcept : m_has_value(true) {}
785
786
    explicit constexpr expected_storage_base(deferred_init_tag_t) noexcept
787
        : m_has_value(false)
788
    {
789
    }
790
791
    explicit constexpr expected_storage_base(std::in_place_t) noexcept
792
        : m_has_value(true)
793
    {
794
    }
795
796
    template <typename... Args,
797
              typename = std::enable_if_t<std::is_constructible_v<E, Args...>>>
798
    explicit constexpr expected_storage_base(
799
        unexpect_t,
800
        Args&&... args) noexcept(std::is_nothrow_constructible_v<E, Args...>)
801
        : m_has_value(false)
802
    {
803
        construct_unexpected(std::in_place, std::forward<Args>(args)...);
804
    }
805
806
    ~expected_storage_base()
807
    {
808
        if (!has_value()) {
809
            destroy_unexpected();
810
        }
811
    }
812
813
    constexpr unexpected<E>& get_unexpected() & noexcept
814
    {
815
        return *unexpected_ptr();
816
    }
817
    constexpr const unexpected<E>& get_unexpected() const& noexcept
818
    {
819
        return *unexpected_ptr();
820
    }
821
    constexpr unexpected<E>&& get_unexpected() && noexcept
822
    {
823
        return std::move(*unexpected_ptr());
824
    }
825
    constexpr const unexpected<E>&& get_unexpected() const&& noexcept
826
    {
827
        return std::move(*unexpected_ptr());
828
    }
829
830
    SCN_NODISCARD constexpr bool has_value() const noexcept
831
    {
832
        return m_has_value;
833
    }
834
835
    template <typename... Args>
836
    constexpr void construct(Args&&...) noexcept
837
    {
838
        m_has_value = true;
839
    }
840
    template <typename... Args>
841
    void construct_unexpected(Args&&... args) noexcept(
842
        std::is_nothrow_constructible_v<E, Args...>)
843
    {
844
        scn::detail::construct_at(unexpected_ptr(),
845
                                  std::forward<Args>(args)...);
846
        m_has_value = false;
847
    }
848
849
    static constexpr void destroy_value() noexcept {}
850
    void destroy_unexpected() noexcept
851
    {
852
        scn::detail::destroy_at(unexpected_ptr());
853
    }
854
855
private:
856
    SCN_GCC_PUSH
857
    SCN_GCC_IGNORE("-Wcast-align")
858
    unexpected<E>* unexpected_ptr()
859
    {
860
        return reinterpret_cast<unexpected<E>*>(m_memory);
861
    }
862
    const unexpected<E>* unexpected_ptr() const
863
    {
864
        return reinterpret_cast<const unexpected<E>*>(m_memory);
865
    }
866
    SCN_GCC_POP
867
868
    static constexpr std::size_t required_size = sizeof(unexpected<E>);
869
    static constexpr std::size_t required_alignment = alignof(unexpected<E>);
870
871
    alignas(required_alignment) unsigned char m_memory[required_size];
872
    bool m_has_value;
873
};
874
875
template <typename T, typename U>
876
using is_void_or = std::conditional_t<std::is_void_v<T>, std::true_type, U>;
877
878
template <typename T, typename E, typename Enable = void>
879
struct expected_operations_base;
880
881
template <typename T, typename E>
882
struct SCN_TRIVIAL_ABI expected_operations_base<
883
    T,
884
    E,
885
    std::enable_if_t<(std::is_void_v<T> || std::is_trivially_copyable_v<T>) &&
886
                     std::is_trivially_copyable_v<E>>>
887
    : expected_storage_base<T, E> {
888
    using expected_storage_base<T, E>::expected_storage_base;
889
};
890
891
template <typename T, typename E>
892
struct SCN_TRIVIAL_ABI expected_operations_base<
893
    T,
894
    E,
895
    std::enable_if_t<!std::is_void_v<T> && (!std::is_trivially_copyable_v<T> ||
896
                                            !std::is_trivially_copyable_v<E>)>>
897
    : expected_storage_base<T, E> {
898
    using expected_storage_base<T, E>::expected_storage_base;
899
900
    expected_operations_base(const expected_operations_base& other) noexcept(
901
        std::is_nothrow_copy_constructible_v<T> &&
902
        std::is_nothrow_copy_constructible_v<E>)
903
        : expected_storage_base<T, E>(deferred_init_tag)
904
    {
905
        construct_common(other);
906
    }
907
    expected_operations_base(expected_operations_base&& other) noexcept(
908
        std::is_nothrow_move_constructible_v<T> &&
909
        std::is_nothrow_move_constructible_v<E>)
910
        : expected_storage_base<T, E>(deferred_init_tag)
911
    {
912
        construct_common(std::move(other));
913
    }
914
915
    expected_operations_base& operator=(const expected_operations_base& other)
916
    // gcc 11 and lower evaluate noexcept in a weird context
917
#if SCN_GCC && SCN_GCC < SCN_COMPILER(12, 0, 0)
918
        noexcept(noexcept(
919
            SCN_DECLVAL(expected_operations_base&).assign_common(other)))
920
#else
921
        noexcept(noexcept(assign_common(other)))
922
#endif
923
    {
924
        assign_common(other);
925
        return *this;
926
    }
927
    expected_operations_base& operator=(expected_operations_base&& other)
928
#if SCN_GCC && SCN_GCC < SCN_COMPILER(12, 0, 0)
929
        noexcept(noexcept(SCN_DECLVAL(expected_operations_base&)
930
                              .assign_common(std::move(other))))
931
#else
932
        noexcept(noexcept(assign_common(std::move(other))))
933
#endif
934
520k
    {
935
520k
        assign_common(std::move(other));
936
520k
        return *this;
937
520k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v4::scan_error, void>&&)
Line
Count
Source
934
14.4k
    {
935
14.4k
        assign_common(std::move(other));
936
14.4k
        return *this;
937
14.4k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v4::scan_error, void>&&)
Line
Count
Source
934
14.4k
    {
935
14.4k
        assign_common(std::move(other));
936
14.4k
        return *this;
937
14.4k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, void>&&)
Line
Count
Source
934
14.4k
    {
935
14.4k
        assign_common(std::move(other));
936
14.4k
        return *this;
937
14.4k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, void>&&)
Line
Count
Source
934
14.4k
    {
935
14.4k
        assign_common(std::move(other));
936
14.4k
        return *this;
937
14.4k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v4::scan_error, void>&&)
Line
Count
Source
934
14.4k
    {
935
14.4k
        assign_common(std::move(other));
936
14.4k
        return *this;
937
14.4k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v4::scan_error, void>&&)
Line
Count
Source
934
14.4k
    {
935
14.4k
        assign_common(std::move(other));
936
14.4k
        return *this;
937
14.4k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v4::scan_error, void>&&)
Line
Count
Source
934
14.4k
    {
935
14.4k
        assign_common(std::move(other));
936
14.4k
        return *this;
937
14.4k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v4::scan_error, void>&&)
Line
Count
Source
934
14.4k
    {
935
14.4k
        assign_common(std::move(other));
936
14.4k
        return *this;
937
14.4k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v4::scan_error, void>&&)
Line
Count
Source
934
14.4k
    {
935
14.4k
        assign_common(std::move(other));
936
14.4k
        return *this;
937
14.4k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v4::scan_error, void>&&)
Line
Count
Source
934
14.4k
    {
935
14.4k
        assign_common(std::move(other));
936
14.4k
        return *this;
937
14.4k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v4::scan_error, void>&&)
Line
Count
Source
934
14.4k
    {
935
14.4k
        assign_common(std::move(other));
936
14.4k
        return *this;
937
14.4k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v4::scan_error, void>&&)
Line
Count
Source
934
14.4k
    {
935
14.4k
        assign_common(std::move(other));
936
14.4k
        return *this;
937
14.4k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v4::scan_error, void>&&)
Line
Count
Source
934
28.8k
    {
935
28.8k
        assign_common(std::move(other));
936
28.8k
        return *this;
937
28.8k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v4::scan_error, void>&&)
Line
Count
Source
934
28.8k
    {
935
28.8k
        assign_common(std::move(other));
936
28.8k
        return *this;
937
28.8k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, void>&&)
Line
Count
Source
934
28.8k
    {
935
28.8k
        assign_common(std::move(other));
936
28.8k
        return *this;
937
28.8k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, void>&&)
Line
Count
Source
934
28.8k
    {
935
28.8k
        assign_common(std::move(other));
936
28.8k
        return *this;
937
28.8k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v4::scan_error, void>&&)
Line
Count
Source
934
28.8k
    {
935
28.8k
        assign_common(std::move(other));
936
28.8k
        return *this;
937
28.8k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v4::scan_error, void>&&)
Line
Count
Source
934
28.8k
    {
935
28.8k
        assign_common(std::move(other));
936
28.8k
        return *this;
937
28.8k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v4::scan_error, void>&&)
Line
Count
Source
934
28.8k
    {
935
28.8k
        assign_common(std::move(other));
936
28.8k
        return *this;
937
28.8k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v4::scan_error, void>&&)
Line
Count
Source
934
28.8k
    {
935
28.8k
        assign_common(std::move(other));
936
28.8k
        return *this;
937
28.8k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v4::scan_error, void>&&)
Line
Count
Source
934
28.8k
    {
935
28.8k
        assign_common(std::move(other));
936
28.8k
        return *this;
937
28.8k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v4::scan_error, void>&&)
Line
Count
Source
934
28.8k
    {
935
28.8k
        assign_common(std::move(other));
936
28.8k
        return *this;
937
28.8k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v4::scan_error, void>&&)
Line
Count
Source
934
28.8k
    {
935
28.8k
        assign_common(std::move(other));
936
28.8k
        return *this;
937
28.8k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v4::scan_error, void>&&)
Line
Count
Source
934
28.8k
    {
935
28.8k
        assign_common(std::move(other));
936
28.8k
        return *this;
937
28.8k
    }
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
938
939
    ~expected_operations_base() = default;
940
941
private:
942
    template <typename Other>
943
    void construct_common(Other&& other) noexcept(
944
        noexcept(SCN_DECLVAL(expected_storage_base<T, E>)
945
                     .construct(std::forward<Other>(other).get_value())) &&
946
        noexcept(SCN_DECLVAL(expected_storage_base<T, E>)
947
                     .construct_unexpected(
948
                         std::forward<Other>(other).get_unexpected())))
949
0
    {
950
0
        if (other.has_value()) {
951
0
            this->construct(std::forward<Other>(other).get_value());
952
0
        }
953
0
        else {
954
0
            this->construct_unexpected(
955
0
                std::forward<Other>(other).get_unexpected());
956
0
        }
957
0
    }
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
958
959
    template <typename Other>
960
    void assign_common(Other&& other)
961
#if SCN_GCC && SCN_GCC < SCN_COMPILER(12, 0, 0)
962
        noexcept(
963
            noexcept(SCN_DECLVAL(expected_operations_base&)
964
                         .reassign_value(std::forward<Other>(other))) &&
965
            noexcept(SCN_DECLVAL(expected_operations_base&)
966
                         .reassign_unexpected(std::forward<Other>(other))) &&
967
            noexcept(SCN_DECLVAL(expected_operations_base&)
968
                         .assign_value_over_unexpected(
969
                             std::forward<Other>(other))) &&
970
            noexcept(
971
                SCN_DECLVAL(expected_operations_base&)
972
                    .assign_unexpected_over_value(std::forward<Other>(other))))
973
#else
974
        noexcept(
975
            noexcept(reassign_value(std::forward<Other>(other))) &&
976
            noexcept(reassign_unexpected(std::forward<Other>(other))) &&
977
            noexcept(
978
                assign_value_over_unexpected(std::forward<Other>(other))) &&
979
            noexcept(assign_unexpected_over_value(std::forward<Other>(other))))
980
#endif
981
520k
    {
982
520k
        if (this->has_value()) {
983
520k
            if (other.has_value()) {
984
0
                return reassign_value(std::forward<Other>(other));
985
0
            }
986
520k
            return assign_unexpected_over_value(std::forward<Other>(other));
987
520k
        }
988
989
0
        if (other.has_value()) {
990
0
            return assign_value_over_unexpected(std::forward<Other>(other));
991
0
        }
992
0
        return reassign_unexpected(std::forward<Other>(other));
993
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v4::scan_error, void>&&)
Line
Count
Source
981
14.4k
    {
982
14.4k
        if (this->has_value()) {
983
14.4k
            if (other.has_value()) {
984
0
                return reassign_value(std::forward<Other>(other));
985
0
            }
986
14.4k
            return assign_unexpected_over_value(std::forward<Other>(other));
987
14.4k
        }
988
989
0
        if (other.has_value()) {
990
0
            return assign_value_over_unexpected(std::forward<Other>(other));
991
0
        }
992
0
        return reassign_unexpected(std::forward<Other>(other));
993
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v4::scan_error, void>&&)
Line
Count
Source
981
14.4k
    {
982
14.4k
        if (this->has_value()) {
983
14.4k
            if (other.has_value()) {
984
0
                return reassign_value(std::forward<Other>(other));
985
0
            }
986
14.4k
            return assign_unexpected_over_value(std::forward<Other>(other));
987
14.4k
        }
988
989
0
        if (other.has_value()) {
990
0
            return assign_value_over_unexpected(std::forward<Other>(other));
991
0
        }
992
0
        return reassign_unexpected(std::forward<Other>(other));
993
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, void>&&)
Line
Count
Source
981
14.4k
    {
982
14.4k
        if (this->has_value()) {
983
14.4k
            if (other.has_value()) {
984
0
                return reassign_value(std::forward<Other>(other));
985
0
            }
986
14.4k
            return assign_unexpected_over_value(std::forward<Other>(other));
987
14.4k
        }
988
989
0
        if (other.has_value()) {
990
0
            return assign_value_over_unexpected(std::forward<Other>(other));
991
0
        }
992
0
        return reassign_unexpected(std::forward<Other>(other));
993
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, void>&&)
Line
Count
Source
981
14.4k
    {
982
14.4k
        if (this->has_value()) {
983
14.4k
            if (other.has_value()) {
984
0
                return reassign_value(std::forward<Other>(other));
985
0
            }
986
14.4k
            return assign_unexpected_over_value(std::forward<Other>(other));
987
14.4k
        }
988
989
0
        if (other.has_value()) {
990
0
            return assign_value_over_unexpected(std::forward<Other>(other));
991
0
        }
992
0
        return reassign_unexpected(std::forward<Other>(other));
993
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v4::scan_error, void>&&)
Line
Count
Source
981
14.4k
    {
982
14.4k
        if (this->has_value()) {
983
14.4k
            if (other.has_value()) {
984
0
                return reassign_value(std::forward<Other>(other));
985
0
            }
986
14.4k
            return assign_unexpected_over_value(std::forward<Other>(other));
987
14.4k
        }
988
989
0
        if (other.has_value()) {
990
0
            return assign_value_over_unexpected(std::forward<Other>(other));
991
0
        }
992
0
        return reassign_unexpected(std::forward<Other>(other));
993
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v4::scan_error, void>&&)
Line
Count
Source
981
14.4k
    {
982
14.4k
        if (this->has_value()) {
983
14.4k
            if (other.has_value()) {
984
0
                return reassign_value(std::forward<Other>(other));
985
0
            }
986
14.4k
            return assign_unexpected_over_value(std::forward<Other>(other));
987
14.4k
        }
988
989
0
        if (other.has_value()) {
990
0
            return assign_value_over_unexpected(std::forward<Other>(other));
991
0
        }
992
0
        return reassign_unexpected(std::forward<Other>(other));
993
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v4::scan_error, void>&&)
Line
Count
Source
981
14.4k
    {
982
14.4k
        if (this->has_value()) {
983
14.4k
            if (other.has_value()) {
984
0
                return reassign_value(std::forward<Other>(other));
985
0
            }
986
14.4k
            return assign_unexpected_over_value(std::forward<Other>(other));
987
14.4k
        }
988
989
0
        if (other.has_value()) {
990
0
            return assign_value_over_unexpected(std::forward<Other>(other));
991
0
        }
992
0
        return reassign_unexpected(std::forward<Other>(other));
993
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v4::scan_error, void>&&)
Line
Count
Source
981
14.4k
    {
982
14.4k
        if (this->has_value()) {
983
14.4k
            if (other.has_value()) {
984
0
                return reassign_value(std::forward<Other>(other));
985
0
            }
986
14.4k
            return assign_unexpected_over_value(std::forward<Other>(other));
987
14.4k
        }
988
989
0
        if (other.has_value()) {
990
0
            return assign_value_over_unexpected(std::forward<Other>(other));
991
0
        }
992
0
        return reassign_unexpected(std::forward<Other>(other));
993
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v4::scan_error, void>&&)
Line
Count
Source
981
14.4k
    {
982
14.4k
        if (this->has_value()) {
983
14.4k
            if (other.has_value()) {
984
0
                return reassign_value(std::forward<Other>(other));
985
0
            }
986
14.4k
            return assign_unexpected_over_value(std::forward<Other>(other));
987
14.4k
        }
988
989
0
        if (other.has_value()) {
990
0
            return assign_value_over_unexpected(std::forward<Other>(other));
991
0
        }
992
0
        return reassign_unexpected(std::forward<Other>(other));
993
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v4::scan_error, void>&&)
Line
Count
Source
981
14.4k
    {
982
14.4k
        if (this->has_value()) {
983
14.4k
            if (other.has_value()) {
984
0
                return reassign_value(std::forward<Other>(other));
985
0
            }
986
14.4k
            return assign_unexpected_over_value(std::forward<Other>(other));
987
14.4k
        }
988
989
0
        if (other.has_value()) {
990
0
            return assign_value_over_unexpected(std::forward<Other>(other));
991
0
        }
992
0
        return reassign_unexpected(std::forward<Other>(other));
993
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v4::scan_error, void>&&)
Line
Count
Source
981
14.4k
    {
982
14.4k
        if (this->has_value()) {
983
14.4k
            if (other.has_value()) {
984
0
                return reassign_value(std::forward<Other>(other));
985
0
            }
986
14.4k
            return assign_unexpected_over_value(std::forward<Other>(other));
987
14.4k
        }
988
989
0
        if (other.has_value()) {
990
0
            return assign_value_over_unexpected(std::forward<Other>(other));
991
0
        }
992
0
        return reassign_unexpected(std::forward<Other>(other));
993
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v4::scan_error, void>&&)
Line
Count
Source
981
14.4k
    {
982
14.4k
        if (this->has_value()) {
983
14.4k
            if (other.has_value()) {
984
0
                return reassign_value(std::forward<Other>(other));
985
0
            }
986
14.4k
            return assign_unexpected_over_value(std::forward<Other>(other));
987
14.4k
        }
988
989
0
        if (other.has_value()) {
990
0
            return assign_value_over_unexpected(std::forward<Other>(other));
991
0
        }
992
0
        return reassign_unexpected(std::forward<Other>(other));
993
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v4::scan_error, void>&&)
Line
Count
Source
981
28.8k
    {
982
28.8k
        if (this->has_value()) {
983
28.8k
            if (other.has_value()) {
984
0
                return reassign_value(std::forward<Other>(other));
985
0
            }
986
28.8k
            return assign_unexpected_over_value(std::forward<Other>(other));
987
28.8k
        }
988
989
0
        if (other.has_value()) {
990
0
            return assign_value_over_unexpected(std::forward<Other>(other));
991
0
        }
992
0
        return reassign_unexpected(std::forward<Other>(other));
993
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v4::scan_error, void>&&)
Line
Count
Source
981
28.8k
    {
982
28.8k
        if (this->has_value()) {
983
28.8k
            if (other.has_value()) {
984
0
                return reassign_value(std::forward<Other>(other));
985
0
            }
986
28.8k
            return assign_unexpected_over_value(std::forward<Other>(other));
987
28.8k
        }
988
989
0
        if (other.has_value()) {
990
0
            return assign_value_over_unexpected(std::forward<Other>(other));
991
0
        }
992
0
        return reassign_unexpected(std::forward<Other>(other));
993
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, void>&&)
Line
Count
Source
981
28.8k
    {
982
28.8k
        if (this->has_value()) {
983
28.8k
            if (other.has_value()) {
984
0
                return reassign_value(std::forward<Other>(other));
985
0
            }
986
28.8k
            return assign_unexpected_over_value(std::forward<Other>(other));
987
28.8k
        }
988
989
0
        if (other.has_value()) {
990
0
            return assign_value_over_unexpected(std::forward<Other>(other));
991
0
        }
992
0
        return reassign_unexpected(std::forward<Other>(other));
993
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, void>&&)
Line
Count
Source
981
28.8k
    {
982
28.8k
        if (this->has_value()) {
983
28.8k
            if (other.has_value()) {
984
0
                return reassign_value(std::forward<Other>(other));
985
0
            }
986
28.8k
            return assign_unexpected_over_value(std::forward<Other>(other));
987
28.8k
        }
988
989
0
        if (other.has_value()) {
990
0
            return assign_value_over_unexpected(std::forward<Other>(other));
991
0
        }
992
0
        return reassign_unexpected(std::forward<Other>(other));
993
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v4::scan_error, void>&&)
Line
Count
Source
981
28.8k
    {
982
28.8k
        if (this->has_value()) {
983
28.8k
            if (other.has_value()) {
984
0
                return reassign_value(std::forward<Other>(other));
985
0
            }
986
28.8k
            return assign_unexpected_over_value(std::forward<Other>(other));
987
28.8k
        }
988
989
0
        if (other.has_value()) {
990
0
            return assign_value_over_unexpected(std::forward<Other>(other));
991
0
        }
992
0
        return reassign_unexpected(std::forward<Other>(other));
993
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v4::scan_error, void>&&)
Line
Count
Source
981
28.8k
    {
982
28.8k
        if (this->has_value()) {
983
28.8k
            if (other.has_value()) {
984
0
                return reassign_value(std::forward<Other>(other));
985
0
            }
986
28.8k
            return assign_unexpected_over_value(std::forward<Other>(other));
987
28.8k
        }
988
989
0
        if (other.has_value()) {
990
0
            return assign_value_over_unexpected(std::forward<Other>(other));
991
0
        }
992
0
        return reassign_unexpected(std::forward<Other>(other));
993
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v4::scan_error, void>&&)
Line
Count
Source
981
28.8k
    {
982
28.8k
        if (this->has_value()) {
983
28.8k
            if (other.has_value()) {
984
0
                return reassign_value(std::forward<Other>(other));
985
0
            }
986
28.8k
            return assign_unexpected_over_value(std::forward<Other>(other));
987
28.8k
        }
988
989
0
        if (other.has_value()) {
990
0
            return assign_value_over_unexpected(std::forward<Other>(other));
991
0
        }
992
0
        return reassign_unexpected(std::forward<Other>(other));
993
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v4::scan_error, void>&&)
Line
Count
Source
981
28.8k
    {
982
28.8k
        if (this->has_value()) {
983
28.8k
            if (other.has_value()) {
984
0
                return reassign_value(std::forward<Other>(other));
985
0
            }
986
28.8k
            return assign_unexpected_over_value(std::forward<Other>(other));
987
28.8k
        }
988
989
0
        if (other.has_value()) {
990
0
            return assign_value_over_unexpected(std::forward<Other>(other));
991
0
        }
992
0
        return reassign_unexpected(std::forward<Other>(other));
993
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v4::scan_error, void>&&)
Line
Count
Source
981
28.8k
    {
982
28.8k
        if (this->has_value()) {
983
28.8k
            if (other.has_value()) {
984
0
                return reassign_value(std::forward<Other>(other));
985
0
            }
986
28.8k
            return assign_unexpected_over_value(std::forward<Other>(other));
987
28.8k
        }
988
989
0
        if (other.has_value()) {
990
0
            return assign_value_over_unexpected(std::forward<Other>(other));
991
0
        }
992
0
        return reassign_unexpected(std::forward<Other>(other));
993
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v4::scan_error, void>&&)
Line
Count
Source
981
28.8k
    {
982
28.8k
        if (this->has_value()) {
983
28.8k
            if (other.has_value()) {
984
0
                return reassign_value(std::forward<Other>(other));
985
0
            }
986
28.8k
            return assign_unexpected_over_value(std::forward<Other>(other));
987
28.8k
        }
988
989
0
        if (other.has_value()) {
990
0
            return assign_value_over_unexpected(std::forward<Other>(other));
991
0
        }
992
0
        return reassign_unexpected(std::forward<Other>(other));
993
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v4::scan_error, void>&&)
Line
Count
Source
981
28.8k
    {
982
28.8k
        if (this->has_value()) {
983
28.8k
            if (other.has_value()) {
984
0
                return reassign_value(std::forward<Other>(other));
985
0
            }
986
28.8k
            return assign_unexpected_over_value(std::forward<Other>(other));
987
28.8k
        }
988
989
0
        if (other.has_value()) {
990
0
            return assign_value_over_unexpected(std::forward<Other>(other));
991
0
        }
992
0
        return reassign_unexpected(std::forward<Other>(other));
993
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v4::scan_error, void>&&)
Line
Count
Source
981
28.8k
    {
982
28.8k
        if (this->has_value()) {
983
28.8k
            if (other.has_value()) {
984
0
                return reassign_value(std::forward<Other>(other));
985
0
            }
986
28.8k
            return assign_unexpected_over_value(std::forward<Other>(other));
987
28.8k
        }
988
989
0
        if (other.has_value()) {
990
0
            return assign_value_over_unexpected(std::forward<Other>(other));
991
0
        }
992
0
        return reassign_unexpected(std::forward<Other>(other));
993
0
    }
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
994
995
    template <typename Other>
996
    void reassign_value(Other&& other) noexcept(
997
        std::is_nothrow_assignable_v<
998
            T,
999
            decltype(std::forward<Other>(other).get_value())>)
1000
0
    {
1001
0
        this->get_value() = std::forward<Other>(other).get_value();
1002
0
    }
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
1003
1004
    template <typename Other>
1005
    void reassign_unexpected(Other&& other) noexcept(
1006
        std::is_nothrow_assignable_v<
1007
            E,
1008
            decltype(std::forward<Other>(other).get_unexpected())>)
1009
0
    {
1010
0
        this->get_unexpected() = std::forward<Other>(other).get_unexpected();
1011
0
    }
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
1012
1013
#if SCN_HAS_EXCEPTIONS
1014
    void assign_value_over_unexpected(
1015
        const expected_operations_base&
1016
            other) noexcept(std::is_nothrow_copy_constructible_v<T> ||
1017
                            std::is_nothrow_move_constructible_v<T>)
1018
    {
1019
        if constexpr (std::is_nothrow_copy_constructible_v<T>) {
1020
            this->destroy_unexpected();
1021
            this->construct(other.get_value());
1022
        }
1023
        else if constexpr (std::is_nothrow_move_constructible_v<T>) {
1024
            T tmp = other.get_value();
1025
            this->destroy_unexpected();
1026
            this->construct(std::move(tmp));
1027
        }
1028
        else {
1029
            auto tmp = std::move(this->get_unexpecetd());
1030
            this->destroy_unexpected();
1031
1032
            try {
1033
                this->construct(other.get());
1034
            }
1035
            catch (...) {
1036
                this->construct_unexpected(std::move(tmp));
1037
                throw;
1038
            }
1039
        }
1040
    }
1041
1042
    void
1043
    assign_value_over_unexpected(expected_operations_base&& other) noexcept(
1044
        std::is_nothrow_move_constructible_v<T>)
1045
0
    {
1046
0
        if constexpr (std::is_nothrow_move_constructible_v<T>) {
1047
0
            this->destroy_unexpected();
1048
0
            this->construct(std::move(other).get_value());
1049
        }
1050
        else {
1051
            auto tmp = std::move(this->get_unexpected());
1052
            this->destroy_unexpected();
1053
1054
            try {
1055
                this->construct(std::move(other).get_value());
1056
            }
1057
            catch (...) {
1058
                this->construct_unexpected(std::move(tmp));
1059
                throw;
1060
            }
1061
        }
1062
0
    }
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
1063
#else
1064
    template <typename Other>
1065
    void assing_value_over_unexpected(Other&& other) noexcept
1066
    {
1067
        this->destroy_unexpected();
1068
        this->construct_value(std::forward<Other>(other).get_value());
1069
    }
1070
#endif
1071
1072
    template <typename Other>
1073
    void assign_unexpected_over_value(Other&& other) noexcept(
1074
        std::is_nothrow_constructible_v<
1075
            E,
1076
            decltype(std::forward<Other>(other).get_unexpected())>)
1077
520k
    {
1078
520k
        this->destroy_value();
1079
520k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1080
520k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v4::scan_error, void>&&)
Line
Count
Source
1077
14.4k
    {
1078
14.4k
        this->destroy_value();
1079
14.4k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1080
14.4k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v4::scan_error, void>&&)
Line
Count
Source
1077
14.4k
    {
1078
14.4k
        this->destroy_value();
1079
14.4k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1080
14.4k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, void>&&)
Line
Count
Source
1077
14.4k
    {
1078
14.4k
        this->destroy_value();
1079
14.4k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1080
14.4k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, void>&&)
Line
Count
Source
1077
14.4k
    {
1078
14.4k
        this->destroy_value();
1079
14.4k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1080
14.4k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v4::scan_error, void>&&)
Line
Count
Source
1077
14.4k
    {
1078
14.4k
        this->destroy_value();
1079
14.4k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1080
14.4k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v4::scan_error, void>&&)
Line
Count
Source
1077
14.4k
    {
1078
14.4k
        this->destroy_value();
1079
14.4k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1080
14.4k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v4::scan_error, void>&&)
Line
Count
Source
1077
14.4k
    {
1078
14.4k
        this->destroy_value();
1079
14.4k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1080
14.4k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v4::scan_error, void>&&)
Line
Count
Source
1077
14.4k
    {
1078
14.4k
        this->destroy_value();
1079
14.4k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1080
14.4k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v4::scan_error, void>&&)
Line
Count
Source
1077
14.4k
    {
1078
14.4k
        this->destroy_value();
1079
14.4k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1080
14.4k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v4::scan_error, void>&&)
Line
Count
Source
1077
14.4k
    {
1078
14.4k
        this->destroy_value();
1079
14.4k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1080
14.4k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v4::scan_error, void>&&)
Line
Count
Source
1077
14.4k
    {
1078
14.4k
        this->destroy_value();
1079
14.4k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1080
14.4k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v4::scan_error, void>&&)
Line
Count
Source
1077
14.4k
    {
1078
14.4k
        this->destroy_value();
1079
14.4k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1080
14.4k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v4::scan_error, void>&&)
Line
Count
Source
1077
28.8k
    {
1078
28.8k
        this->destroy_value();
1079
28.8k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1080
28.8k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v4::scan_error, void>&&)
Line
Count
Source
1077
28.8k
    {
1078
28.8k
        this->destroy_value();
1079
28.8k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1080
28.8k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, void>&&)
Line
Count
Source
1077
28.8k
    {
1078
28.8k
        this->destroy_value();
1079
28.8k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1080
28.8k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, void>&&)
Line
Count
Source
1077
28.8k
    {
1078
28.8k
        this->destroy_value();
1079
28.8k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1080
28.8k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v4::scan_error, void>&&)
Line
Count
Source
1077
28.8k
    {
1078
28.8k
        this->destroy_value();
1079
28.8k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1080
28.8k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v4::scan_error, void>&&)
Line
Count
Source
1077
28.8k
    {
1078
28.8k
        this->destroy_value();
1079
28.8k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1080
28.8k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v4::scan_error, void>&&)
Line
Count
Source
1077
28.8k
    {
1078
28.8k
        this->destroy_value();
1079
28.8k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1080
28.8k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v4::scan_error, void>&&)
Line
Count
Source
1077
28.8k
    {
1078
28.8k
        this->destroy_value();
1079
28.8k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1080
28.8k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v4::scan_error, void>&&)
Line
Count
Source
1077
28.8k
    {
1078
28.8k
        this->destroy_value();
1079
28.8k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1080
28.8k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v4::scan_error, void>&&)
Line
Count
Source
1077
28.8k
    {
1078
28.8k
        this->destroy_value();
1079
28.8k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1080
28.8k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v4::scan_error, void>&&)
Line
Count
Source
1077
28.8k
    {
1078
28.8k
        this->destroy_value();
1079
28.8k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1080
28.8k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v4::scan_error, void>&&)
Line
Count
Source
1077
28.8k
    {
1078
28.8k
        this->destroy_value();
1079
28.8k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1080
28.8k
    }
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
1081
};
1082
1083
template <typename E>
1084
struct SCN_TRIVIAL_ABI
1085
    expected_operations_base<void,
1086
                             E,
1087
                             std::enable_if_t<!std::is_trivially_copyable_v<E>>>
1088
    : expected_storage_base<void, E> {
1089
    using expected_storage_base<void, E>::expected_storage_base;
1090
1091
    expected_operations_base(const expected_operations_base& other) noexcept(
1092
        std::is_nothrow_copy_constructible_v<E>)
1093
        : expected_storage_base<void, E>(deferred_init_tag)
1094
    {
1095
        construct_common(other);
1096
    }
1097
    expected_operations_base(expected_operations_base&& other) noexcept(
1098
        std::is_nothrow_move_constructible_v<E>)
1099
        : expected_storage_base<void, E>(deferred_init_tag)
1100
    {
1101
        construct_common(std::move(other));
1102
    }
1103
1104
    expected_operations_base& operator=(const expected_operations_base& other)
1105
    // gcc 11 and lower evaluate noexcept in a weird context
1106
#if SCN_GCC && SCN_GCC < SCN_COMPILER(12, 0, 0)
1107
        noexcept(noexcept(
1108
            SCN_DECLVAL(expected_operations_base&).assign_common(other)))
1109
#else
1110
        noexcept(noexcept(assign_common(other)))
1111
#endif
1112
    {
1113
        assign_common(other);
1114
        return *this;
1115
    }
1116
    expected_operations_base& operator=(expected_operations_base&& other)
1117
#if SCN_GCC && SCN_GCC < SCN_COMPILER(12, 0, 0)
1118
        noexcept(noexcept(SCN_DECLVAL(expected_operations_base&)
1119
                              .assign_common(std::move(other))))
1120
#else
1121
        noexcept(noexcept(assign_common(std::move(other))))
1122
#endif
1123
    {
1124
        assign_common(std::move(other));
1125
        return *this;
1126
    }
1127
1128
    ~expected_operations_base() = default;
1129
1130
private:
1131
    template <typename Other>
1132
    void construct_common(Other&& other) noexcept(
1133
        noexcept(expected_storage_base<void, E>::construct_unexpected(
1134
            std::forward<Other>(other).get_unexpected())))
1135
    {
1136
        if (other.has_value()) {
1137
            this->construct();
1138
        }
1139
        else {
1140
            this->construct_unexpected(
1141
                std::forward<Other>(other).get_unexpected());
1142
        }
1143
    }
1144
1145
    template <typename Other>
1146
    void assign_common(Other&& other)
1147
#if SCN_GCC && SCN_GCC < SCN_COMPILER(12, 0, 0)
1148
        noexcept(
1149
            noexcept(SCN_DECLVAL(expected_operations_base&)
1150
                         .reassign_unexpected(std::forward<Other>(other))) &&
1151
            noexcept(
1152
                SCN_DECLVAL(expected_operations_base&)
1153
                    .assign_unexpected_over_value(std::forward<Other>(other))))
1154
#else
1155
        noexcept(
1156
            noexcept(reassign_unexpected(std::forward<Other>(other))) &&
1157
            noexcept(assign_unexpected_over_value(std::forward<Other>(other))))
1158
#endif
1159
    {
1160
        if (this->has_value()) {
1161
            if (other.has_value()) {
1162
                return reassign_value();
1163
            }
1164
            return assign_unexpected_over_value(std::forward<Other>(other));
1165
        }
1166
1167
        if (other.has_value()) {
1168
            return assign_value_over_unexpected();
1169
        }
1170
        return reassign_unexpected(std::forward<Other>(other));
1171
    }
1172
1173
    void reassign_value() noexcept {}
1174
1175
    template <typename Other>
1176
    void reassign_unexpected(Other&& other) noexcept(
1177
        std::is_nothrow_assignable_v<
1178
            E,
1179
            decltype(std::forward<Other>(other).get_unexpected())>)
1180
    {
1181
        this->get_unexpected() = std::forward<Other>(other).get_unexpected();
1182
    }
1183
1184
    void assign_value_over_unexpected() noexcept
1185
    {
1186
        this->destroy_unexpected();
1187
        this->construct();
1188
    }
1189
1190
    template <typename Other>
1191
    void assign_unexpected_over_value(Other&& other) noexcept(
1192
        std::is_nothrow_constructible_v<
1193
            E,
1194
            decltype(std::forward<Other>(other).get_unexpected())>)
1195
    {
1196
        this->destroy_value();
1197
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1198
    }
1199
};
1200
1201
/*
1202
 * Base class trickery to conditionally mark copy and move
1203
 * constructors of an expected as =deleted.
1204
 *
1205
 * We need to do this, because otherwise utilities like
1206
 * std::is_copy_constructible wouldn't work for expected: the
1207
 * constructors need to be explicitly =deleted, not just cause a
1208
 * compiler error when trying to copy a value of a non-copyable
1209
 * type.
1210
 *
1211
 * Rationale for doing this with base classes is above.
1212
 */
1213
template <
1214
    typename T,
1215
    typename E,
1216
    bool EnableCopy = ((std::is_copy_constructible_v<T> || std::is_void_v<T>) &&
1217
                       std::is_copy_constructible_v<E>),
1218
    bool EnableMove = ((std::is_move_constructible_v<T> || std::is_void_v<T>) &&
1219
                       std::is_move_constructible_v<E>)>
1220
struct expected_delete_ctor_base;
1221
1222
// Implementation for types that are both copy and move
1223
// constructible: Copy and move constructors are =defaulted
1224
template <typename T, typename E>
1225
struct SCN_TRIVIAL_ABI expected_delete_ctor_base<T, E, true, true> {
1226
    expected_delete_ctor_base() = default;
1227
    expected_delete_ctor_base& operator=(const expected_delete_ctor_base&) =
1228
        default;
1229
    expected_delete_ctor_base& operator=(expected_delete_ctor_base&&) = default;
1230
    ~expected_delete_ctor_base() = default;
1231
1232
    expected_delete_ctor_base(const expected_delete_ctor_base&) = default;
1233
    expected_delete_ctor_base(expected_delete_ctor_base&&) = default;
1234
};
1235
1236
// Implementation for types that are neither copy nor move
1237
// constructible: Copy and move constructors are =deleted
1238
template <typename T, typename E>
1239
struct SCN_TRIVIAL_ABI expected_delete_ctor_base<T, E, false, false> {
1240
    expected_delete_ctor_base() = default;
1241
    expected_delete_ctor_base& operator=(const expected_delete_ctor_base&) =
1242
        default;
1243
    expected_delete_ctor_base& operator=(expected_delete_ctor_base&&) = default;
1244
    ~expected_delete_ctor_base() = default;
1245
1246
    expected_delete_ctor_base(const expected_delete_ctor_base&) = delete;
1247
    expected_delete_ctor_base(expected_delete_ctor_base&&) = delete;
1248
};
1249
1250
// Implementation for types that are move constructible, but not
1251
// copy constructible Copy constructor is =deleted, but move
1252
// constructor is =defaulted
1253
template <typename T, typename E>
1254
struct SCN_TRIVIAL_ABI expected_delete_ctor_base<T, E, false, true> {
1255
    expected_delete_ctor_base() = default;
1256
    expected_delete_ctor_base& operator=(const expected_delete_ctor_base&) =
1257
        default;
1258
    expected_delete_ctor_base& operator=(expected_delete_ctor_base&&) = default;
1259
    ~expected_delete_ctor_base() = default;
1260
1261
    expected_delete_ctor_base(const expected_delete_ctor_base&) = delete;
1262
    expected_delete_ctor_base(expected_delete_ctor_base&&) = default;
1263
};
1264
1265
template <typename T, typename E>
1266
struct SCN_TRIVIAL_ABI expected_delete_ctor_base<T, E, true, false> {
1267
    static_assert(dependent_false<T>::value,
1268
                  "Nonsensical type: copy constructible, but not move "
1269
                  "constructible");
1270
};
1271
1272
// Same as above, but for assignment
1273
template <
1274
    typename T,
1275
    typename E,
1276
    bool EnableCopy = ((std::is_copy_constructible_v<T> || std::is_void_v<T>) &&
1277
                       std::is_copy_constructible_v<E> &&
1278
                       (std::is_copy_assignable_v<T> || std::is_void_v<T>) &&
1279
                       std::is_copy_assignable_v<E>),
1280
    bool EnableMove = ((std::is_move_constructible_v<T> || std::is_void_v<T>) &&
1281
                       std::is_move_constructible_v<E> &&
1282
                       (std::is_move_assignable_v<T> || std::is_void_v<T>) &&
1283
                       std::is_move_assignable_v<E>)>
1284
struct expected_delete_assign_base;
1285
1286
template <typename T, typename E>
1287
struct SCN_TRIVIAL_ABI expected_delete_assign_base<T, E, true, true> {
1288
    expected_delete_assign_base() = default;
1289
    expected_delete_assign_base(const expected_delete_assign_base&) = default;
1290
    expected_delete_assign_base(expected_delete_assign_base&&) = default;
1291
    ~expected_delete_assign_base() = default;
1292
1293
    expected_delete_assign_base& operator=(const expected_delete_assign_base&) =
1294
        default;
1295
    expected_delete_assign_base& operator=(expected_delete_assign_base&&) =
1296
        default;
1297
};
1298
1299
template <typename T, typename E>
1300
struct SCN_TRIVIAL_ABI expected_delete_assign_base<T, E, false, false> {
1301
    expected_delete_assign_base() = default;
1302
    expected_delete_assign_base(const expected_delete_assign_base&) = default;
1303
    expected_delete_assign_base(expected_delete_assign_base&&) = default;
1304
    ~expected_delete_assign_base() = default;
1305
1306
    expected_delete_assign_base& operator=(const expected_delete_assign_base&) =
1307
        delete;
1308
    expected_delete_assign_base& operator=(expected_delete_assign_base&&) =
1309
        delete;
1310
};
1311
1312
template <typename T, typename E>
1313
struct SCN_TRIVIAL_ABI expected_delete_assign_base<T, E, false, true> {
1314
    expected_delete_assign_base() = default;
1315
    expected_delete_assign_base(const expected_delete_assign_base&) = default;
1316
    expected_delete_assign_base(expected_delete_assign_base&&) = default;
1317
    ~expected_delete_assign_base() = default;
1318
1319
    expected_delete_assign_base& operator=(const expected_delete_assign_base&) =
1320
        delete;
1321
    expected_delete_assign_base& operator=(expected_delete_assign_base&&) =
1322
        default;
1323
};
1324
1325
template <typename T, typename E>
1326
struct SCN_TRIVIAL_ABI expected_delete_assign_base<T, E, true, false> {
1327
    static_assert(dependent_false<T>::value,
1328
                  "Nonsensical type: copy assignable, but not move "
1329
                  "assignable");
1330
};
1331
1332
struct non_default_ctor_tag_t {};
1333
1334
/*
1335
 * Same as above, but for the default constructor
1336
 *
1337
 * The constructor taking a non_default_ctor_tag_t is needed, to
1338
 * signal that we're not default constructing.
1339
 */
1340
template <typename T,
1341
          typename E,
1342
          bool = std::is_default_constructible_v<T> || std::is_void_v<T>>
1343
struct SCN_TRIVIAL_ABI expected_default_ctor_base {
1344
    constexpr expected_default_ctor_base() = default;
1345
    constexpr explicit expected_default_ctor_base(
1346
        non_default_ctor_tag_t) noexcept
1347
20.2M
    {
1348
20.2M
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1347
14.4k
    {
1348
14.4k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1347
450k
    {
1348
450k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1347
14.4k
    {
1348
14.4k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1347
14.4k
    {
1348
14.4k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1347
14.4k
    {
1348
14.4k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1347
14.4k
    {
1348
14.4k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1347
14.4k
    {
1348
14.4k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1347
14.4k
    {
1348
14.4k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1347
449k
    {
1348
449k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1347
14.4k
    {
1348
14.4k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1347
14.4k
    {
1348
14.4k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1347
14.4k
    {
1348
14.4k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1347
14.4k
    {
1348
14.4k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1347
14.4k
    {
1348
14.4k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1347
28.8k
    {
1348
28.8k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1347
176k
    {
1348
176k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1347
28.8k
    {
1348
28.8k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1347
28.8k
    {
1348
28.8k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1347
28.8k
    {
1348
28.8k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1347
28.8k
    {
1348
28.8k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1347
28.8k
    {
1348
28.8k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1347
28.8k
    {
1348
28.8k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1347
176k
    {
1348
176k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1347
28.8k
    {
1348
28.8k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1347
28.8k
    {
1348
28.8k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1347
28.8k
    {
1348
28.8k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1347
28.8k
    {
1348
28.8k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1347
28.8k
    {
1348
28.8k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1347
1.48M
    {
1348
1.48M
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1347
461k
    {
1348
461k
    }
scn::v4::detail::expected_default_ctor_base<long, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1347
1.25M
    {
1348
1.25M
    }
scn::v4::detail::expected_default_ctor_base<char const*, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1347
2.67M
    {
1348
2.67M
    }
scn::v4::detail::expected_default_ctor_base<wchar_t const*, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1347
577k
    {
1348
577k
    }
scn::v4::detail::expected_default_ctor_base<void, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1347
777k
    {
1348
777k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1347
1.28M
    {
1348
1.28M
    }
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1347
604k
    {
1348
604k
    }
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
scn::v4::detail::expected_default_ctor_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1347
1.61M
    {
1348
1.61M
    }
scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1347
412k
    {
1348
412k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1347
412k
    {
1348
412k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1347
412k
    {
1348
412k
    }
scn::v4::detail::expected_default_ctor_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1347
60.6k
    {
1348
60.6k
    }
scn::v4::detail::expected_default_ctor_base<char const*, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1347
947k
    {
1348
947k
    }
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
scn::v4::detail::expected_default_ctor_base<std::__1::pair<char const*, long>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1347
604k
    {
1348
604k
    }
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
scn::v4::detail::expected_default_ctor_base<char const*, scn::v4::impl::parse_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1347
968k
    {
1348
968k
    }
scn::v4::detail::expected_default_ctor_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1347
414k
    {
1348
414k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1347
414k
    {
1348
414k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1347
414k
    {
1348
414k
    }
scn::v4::detail::expected_default_ctor_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1347
60.8k
    {
1348
60.8k
    }
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
scn::v4::detail::expected_default_ctor_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1347
385k
    {
1348
385k
    }
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1347
103k
    {
1348
103k
    }
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
scn::v4::detail::expected_default_ctor_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1347
499k
    {
1348
499k
    }
scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1347
125k
    {
1348
125k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1347
125k
    {
1348
125k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1347
125k
    {
1348
125k
    }
scn::v4::detail::expected_default_ctor_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1347
16.5k
    {
1348
16.5k
    }
scn::v4::detail::expected_default_ctor_base<wchar_t const*, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1347
385k
    {
1348
385k
    }
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
scn::v4::detail::expected_default_ctor_base<std::__1::pair<wchar_t const*, long>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1347
103k
    {
1348
103k
    }
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
scn::v4::detail::expected_default_ctor_base<wchar_t const*, scn::v4::impl::parse_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1347
392k
    {
1348
392k
    }
scn::v4::detail::expected_default_ctor_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1347
125k
    {
1348
125k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1347
125k
    {
1348
125k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1347
125k
    {
1348
125k
    }
scn::v4::detail::expected_default_ctor_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1347
16.5k
    {
1348
16.5k
    }
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<wchar_t, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
1349
};
1350
template <typename T, typename E>
1351
struct SCN_TRIVIAL_ABI expected_default_ctor_base<T, E, false> {
1352
    constexpr expected_default_ctor_base() = delete;
1353
    constexpr explicit expected_default_ctor_base(
1354
        non_default_ctor_tag_t) noexcept
1355
    {
1356
    }
1357
};
1358
1359
template <typename T>
1360
using remove_cvref_t = std::remove_cv_t<std::remove_reference_t<T>>;
1361
1362
template <typename T>
1363
struct is_expected_impl : std::false_type {};
1364
template <typename T, typename E>
1365
struct is_expected_impl<expected<T, E>> : std::true_type {};
1366
template <typename T>
1367
using is_expected = is_expected_impl<remove_cvref_t<T>>;
1368
1369
template <typename Exp>
1370
using is_exp_void = std::is_void<typename remove_cvref_t<Exp>::value_type>;
1371
1372
template <typename Exp>
1373
using expected_value_type = typename remove_cvref_t<Exp>::value_type;
1374
1375
template <
1376
    typename F,
1377
    typename... Args,
1378
    typename = std::void_t<decltype(SCN_DECLVAL(F&&)(SCN_DECLVAL(Args&&)...))>>
1379
constexpr decltype(auto) trivial_invoke(F&& f, Args&&... args) noexcept(
1380
    noexcept(std::forward<F>(f)(std::forward<Args>(args)...)))
1381
208k
{
1382
208k
    return std::forward<F>(f)(std::forward<Args>(args)...);
1383
208k
}
decltype(auto) scn::v4::detail::trivial_invoke<scn::v4::scan_error (&)(scn::v4::impl::eof_error), scn::v4::impl::eof_error, void>(scn::v4::scan_error (&)(scn::v4::impl::eof_error), scn::v4::impl::eof_error&&)
Line
Count
Source
1381
26.6k
{
1382
26.6k
    return std::forward<F>(f)(std::forward<Args>(args)...);
1383
26.6k
}
decltype(auto) scn::v4::detail::trivial_invoke<scn::v4::impl::parse_error (&)(scn::v4::impl::eof_error), scn::v4::impl::eof_error, void>(scn::v4::impl::parse_error (&)(scn::v4::impl::eof_error), scn::v4::impl::eof_error&&)
Line
Count
Source
1381
49.1k
{
1382
49.1k
    return std::forward<F>(f)(std::forward<Args>(args)...);
1383
49.1k
}
decltype(auto) scn::v4::detail::trivial_invoke<scn::v4::impl::map_parse_error_to_scan_error(scn::v4::scan_error::code, char const*)::{lambda(scn::v4::impl::parse_error)#1}, scn::v4::impl::parse_error, void>(scn::v4::impl::map_parse_error_to_scan_error(scn::v4::scan_error::code, char const*)::{lambda(scn::v4::impl::parse_error)#1}&&, scn::v4::impl::parse_error&&)
Line
Count
Source
1381
133k
{
1382
133k
    return std::forward<F>(f)(std::forward<Args>(args)...);
1383
133k
}
Unexecuted instantiation: decltype(auto) scn::v4::detail::trivial_invoke<scn::v4::impl::map_parse_error_to_scan_error(scn::v4::scan_error::code, char const*)::{lambda(scn::v4::impl::parse_error)#1}, scn::v4::impl::parse_error&, void>(scn::v4::impl::map_parse_error_to_scan_error(scn::v4::scan_error::code, char const*)::{lambda(scn::v4::impl::parse_error)#1}&&, scn::v4::impl::parse_error&)
Unexecuted instantiation: decltype(auto) scn::v4::detail::trivial_invoke<scn::v4::scan_error (&)(scn::v4::impl::eof_error), scn::v4::impl::eof_error const&, void>(scn::v4::scan_error (&)(scn::v4::impl::eof_error), scn::v4::impl::eof_error const&)
Unexecuted instantiation: decltype(auto) scn::v4::detail::trivial_invoke<scn::v4::scan_error (&)(scn::v4::impl::eof_error), scn::v4::impl::eof_error&, void>(scn::v4::scan_error (&)(scn::v4::impl::eof_error), scn::v4::impl::eof_error&)
Unexecuted instantiation: decltype(auto) scn::v4::detail::trivial_invoke<scn::v4::impl::parse_error (&)(scn::v4::impl::eof_error), scn::v4::impl::eof_error const&, void>(scn::v4::impl::parse_error (&)(scn::v4::impl::eof_error), scn::v4::impl::eof_error const&)
Unexecuted instantiation: decltype(auto) scn::v4::detail::trivial_invoke<scn::v4::impl::parse_error (&)(scn::v4::impl::eof_error), scn::v4::impl::eof_error&, void>(scn::v4::impl::parse_error (&)(scn::v4::impl::eof_error), scn::v4::impl::eof_error&)
Unexecuted instantiation: decltype(auto) scn::v4::detail::trivial_invoke<scn::v4::impl::map_parse_error_to_scan_error(scn::v4::scan_error::code, char const*)::{lambda(scn::v4::impl::parse_error)#1}, scn::v4::impl::parse_error const&, void>(scn::v4::impl::map_parse_error_to_scan_error(scn::v4::scan_error::code, char const*)::{lambda(scn::v4::impl::parse_error)#1}&&, scn::v4::impl::parse_error const&)
1384
1385
// and_then
1386
1387
template <typename Exp,
1388
          typename F,
1389
          std::enable_if_t<!is_exp_void<Exp>::value>* = nullptr,
1390
          typename Ret = decltype(trivial_invoke(SCN_DECLVAL(F),
1391
                                                 *SCN_DECLVAL(Exp)))>
1392
constexpr auto and_then_impl(Exp&& exp, F&& f) noexcept(
1393
    noexcept(trivial_invoke(std::forward<F>(f), *std::forward<Exp>(exp))) &&
1394
    std::is_nothrow_constructible_v<Ret,
1395
                                    unexpect_t,
1396
                                    decltype(std::forward<Exp>(exp).error())>)
1397
{
1398
    static_assert(is_expected<Ret>::value, "F must return an expected");
1399
1400
    return SCN_LIKELY(exp.has_value())
1401
               ? trivial_invoke(std::forward<F>(f), *std::forward<Exp>(exp))
1402
               : Ret(unexpect, std::forward<Exp>(exp).error());
1403
}
1404
template <typename Exp,
1405
          typename F,
1406
          std::enable_if_t<is_exp_void<Exp>::value>* = nullptr,
1407
          typename Ret = decltype(trivial_invoke(SCN_DECLVAL(F)))>
1408
constexpr auto and_then_impl(Exp&& exp, F&& f) noexcept(
1409
    noexcept(trivial_invoke(std::forward<F>(f))) &&
1410
    std::is_nothrow_constructible_v<Ret,
1411
                                    unexpect_t,
1412
                                    decltype(std::forward<Exp>(exp).error())>)
1413
{
1414
    static_assert(is_expected<Ret>::value, "F must return an expected");
1415
1416
    return SCN_LIKELY(exp.has_value())
1417
               ? trivial_invoke(std::forward<F>(f))
1418
               : Ret(unexpect, std::forward<Exp>(exp).error());
1419
}
1420
1421
// or_else
1422
1423
template <typename Exp,
1424
          typename F,
1425
          typename Ret = decltype(trivial_invoke(SCN_DECLVAL(F),
1426
                                                 SCN_DECLVAL(Exp).error()))>
1427
constexpr auto or_else_impl(Exp&& exp, F&& f) noexcept(
1428
    noexcept(trivial_invoke(std::forward<F>(f),
1429
                            std::forward<Exp>(exp).error())) &&
1430
    std::is_nothrow_constructible_v<Ret, decltype(std::forward<Exp>(exp))>)
1431
{
1432
    static_assert(is_expected<Ret>::value, "F must return an expected");
1433
1434
    return SCN_LIKELY(exp.has_value())
1435
               ? Ret(std::forward<Exp>(exp))
1436
               : trivial_invoke(std::forward<F>(f),
1437
                                std::forward<Exp>(exp).error());
1438
}
1439
1440
// transform
1441
1442
template <typename Exp,
1443
          typename F,
1444
          std::enable_if_t<!is_exp_void<Exp>::value>* = nullptr,
1445
          typename Ret = decltype(trivial_invoke(SCN_DECLVAL(F),
1446
                                                 *SCN_DECLVAL(Exp)))>
1447
constexpr auto transform_impl(Exp&& exp, F&& f)
1448
{
1449
    using result = typename remove_cvref_t<Exp>::template rebind<Ret>;
1450
    if constexpr (std::is_void_v<Ret>) {
1451
        if (SCN_LIKELY(exp.has_value())) {
1452
            trivial_invoke(std::forward<F>(f), *std::forward<Exp>(exp));
1453
            return result();
1454
        }
1455
        return result(unexpect, std::forward<Exp>(exp).error());
1456
    }
1457
    else {
1458
        return SCN_LIKELY(exp.has_value())
1459
                   ? result(trivial_invoke(std::forward<F>(f),
1460
                                           *std::forward<Exp>(exp)))
1461
                   : result(unexpect, std::forward<Exp>(exp).error());
1462
    }
1463
}
1464
template <typename Exp,
1465
          typename F,
1466
          std::enable_if_t<is_exp_void<Exp>::value>* = nullptr,
1467
          typename Ret = decltype(trivial_invoke(SCN_DECLVAL(F)))>
1468
constexpr auto transform_impl(Exp&& exp, F&& f)
1469
{
1470
    using result = typename remove_cvref_t<Exp>::template rebind<Ret>;
1471
    if constexpr (std::is_void_v<Ret>) {
1472
        if (SCN_LIKELY(exp.has_value())) {
1473
            trivial_invoke(std::forward<F>(f));
1474
            return result();
1475
        }
1476
        return result(unexpect, std::forward<Exp>(exp).error());
1477
    }
1478
    else {
1479
        return SCN_LIKELY(exp.has_value())
1480
                   ? result(trivial_invoke(std::forward<F>(f)))
1481
                   : result(unexpect, std::forward<Exp>(exp).error());
1482
    }
1483
}
1484
1485
// transform_error
1486
1487
template <typename Exp,
1488
          typename F,
1489
          std::enable_if_t<!is_exp_void<Exp>::value>* = nullptr,
1490
          typename Ret = decltype(trivial_invoke(SCN_DECLVAL(F),
1491
                                                 SCN_DECLVAL(Exp).error()))>
1492
constexpr auto transform_error_impl(Exp&& exp, F&& f)
1493
3.13M
{
1494
    if constexpr (std::is_void_v<Ret>) {
1495
        using result = expected<expected_value_type<Exp>, monostate>;
1496
        if (SCN_LIKELY(exp.has_value())) {
1497
            return result(*std::forward<Exp>(exp));
1498
        }
1499
1500
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1501
        return result(unexpect, monostate{});
1502
    }
1503
3.13M
    else {
1504
3.13M
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1505
3.13M
        return SCN_LIKELY(exp.has_value())
1506
3.13M
                   ? result(*std::forward<Exp>(exp))
1507
3.13M
                   : result(unexpect,
1508
208k
                            trivial_invoke(std::forward<F>(f),
1509
208k
                                           std::forward<Exp>(exp).error()));
1510
3.13M
    }
1511
3.13M
}
_ZN3scn2v46detail20transform_error_implINS0_8expectedINS1_17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEEERFNS0_10scan_errorES8_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESA_EEDaOSF_OT0_
Line
Count
Source
1493
424k
{
1494
    if constexpr (std::is_void_v<Ret>) {
1495
        using result = expected<expected_value_type<Exp>, monostate>;
1496
        if (SCN_LIKELY(exp.has_value())) {
1497
            return result(*std::forward<Exp>(exp));
1498
        }
1499
1500
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1501
        return result(unexpect, monostate{});
1502
    }
1503
424k
    else {
1504
424k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1505
424k
        return SCN_LIKELY(exp.has_value())
1506
424k
                   ? result(*std::forward<Exp>(exp))
1507
424k
                   : result(unexpect,
1508
12.0k
                            trivial_invoke(std::forward<F>(f),
1509
12.0k
                                           std::forward<Exp>(exp).error()));
1510
424k
    }
1511
424k
}
_ZN3scn2v46detail20transform_error_implINS0_8expectedINS1_17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEEERFNS0_10scan_errorES8_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESA_EEDaOSF_OT0_
Line
Count
Source
1493
126k
{
1494
    if constexpr (std::is_void_v<Ret>) {
1495
        using result = expected<expected_value_type<Exp>, monostate>;
1496
        if (SCN_LIKELY(exp.has_value())) {
1497
            return result(*std::forward<Exp>(exp));
1498
        }
1499
1500
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1501
        return result(unexpect, monostate{});
1502
    }
1503
126k
    else {
1504
126k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1505
126k
        return SCN_LIKELY(exp.has_value())
1506
126k
                   ? result(*std::forward<Exp>(exp))
1507
126k
                   : result(unexpect,
1508
1.74k
                            trivial_invoke(std::forward<F>(f),
1509
1.74k
                                           std::forward<Exp>(exp).error()));
1510
126k
    }
1511
126k
}
_ZN3scn2v46detail20transform_error_implINS0_8expectedIPKcNS0_4impl9eof_errorEEERFNS0_10scan_errorES7_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ES9_EEDaOSE_OT0_
Line
Count
Source
1493
425k
{
1494
    if constexpr (std::is_void_v<Ret>) {
1495
        using result = expected<expected_value_type<Exp>, monostate>;
1496
        if (SCN_LIKELY(exp.has_value())) {
1497
            return result(*std::forward<Exp>(exp));
1498
        }
1499
1500
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1501
        return result(unexpect, monostate{});
1502
    }
1503
425k
    else {
1504
425k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1505
425k
        return SCN_LIKELY(exp.has_value())
1506
425k
                   ? result(*std::forward<Exp>(exp))
1507
425k
                   : result(unexpect,
1508
11.1k
                            trivial_invoke(std::forward<F>(f),
1509
11.1k
                                           std::forward<Exp>(exp).error()));
1510
425k
    }
1511
425k
}
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_INS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESM_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESO_EEDaOST_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9eof_errorEEERFNS0_10scan_errorESD_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESF_EEDaOSK_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9eof_errorEEERFNS4_11parse_errorESD_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESF_EEDaOSK_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27parse_integer_prefix_resultINS4_27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS4_9eof_errorEEERFNS0_10scan_errorESF_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESH_EEDaOSM_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_11parse_errorEEEZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSD_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESF_EEDaOSM_OT0_
_ZN3scn2v46detail20transform_error_implINS0_8expectedINS1_17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEEERFNS7_11parse_errorES8_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESA_EEDaOSF_OT0_
Line
Count
Source
1493
336k
{
1494
    if constexpr (std::is_void_v<Ret>) {
1495
        using result = expected<expected_value_type<Exp>, monostate>;
1496
        if (SCN_LIKELY(exp.has_value())) {
1497
            return result(*std::forward<Exp>(exp));
1498
        }
1499
1500
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1501
        return result(unexpect, monostate{});
1502
    }
1503
336k
    else {
1504
336k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1505
336k
        return SCN_LIKELY(exp.has_value())
1506
336k
                   ? result(*std::forward<Exp>(exp))
1507
336k
                   : result(unexpect,
1508
11.4k
                            trivial_invoke(std::forward<F>(f),
1509
11.4k
                                           std::forward<Exp>(exp).error()));
1510
336k
    }
1511
336k
}
_ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27parse_integer_prefix_resultINS1_17basic_scan_bufferIcE16forward_iteratorEEENS4_9eof_errorEEERFNS0_10scan_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_
Line
Count
Source
1493
412k
{
1494
    if constexpr (std::is_void_v<Ret>) {
1495
        using result = expected<expected_value_type<Exp>, monostate>;
1496
        if (SCN_LIKELY(exp.has_value())) {
1497
            return result(*std::forward<Exp>(exp));
1498
        }
1499
1500
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1501
        return result(unexpect, monostate{});
1502
    }
1503
412k
    else {
1504
412k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1505
412k
        return SCN_LIKELY(exp.has_value())
1506
412k
                   ? result(*std::forward<Exp>(exp))
1507
412k
                   : result(unexpect,
1508
0
                            trivial_invoke(std::forward<F>(f),
1509
0
                                           std::forward<Exp>(exp).error()));
1510
412k
    }
1511
412k
}
_ZN3scn2v46detail20transform_error_implINS0_8expectedINS1_17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEEEZNS7_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS8_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESA_EEDaOSH_OT0_
Line
Count
Source
1493
309k
{
1494
    if constexpr (std::is_void_v<Ret>) {
1495
        using result = expected<expected_value_type<Exp>, monostate>;
1496
        if (SCN_LIKELY(exp.has_value())) {
1497
            return result(*std::forward<Exp>(exp));
1498
        }
1499
1500
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1501
        return result(unexpect, monostate{});
1502
    }
1503
309k
    else {
1504
309k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1505
309k
        return SCN_LIKELY(exp.has_value())
1506
309k
                   ? result(*std::forward<Exp>(exp))
1507
309k
                   : result(unexpect,
1508
28.2k
                            trivial_invoke(std::forward<F>(f),
1509
28.2k
                                           std::forward<Exp>(exp).error()));
1510
309k
    }
1511
309k
}
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_IPKcS8_EENS4_15take_width_viewINSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESK_ETnPNSB_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESM_EEDaOSQ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9eof_errorEEERFNS0_10scan_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9eof_errorEEERFNS4_11parse_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27parse_integer_prefix_resultINS4_27counted_width_iterator_impl22counted_width_iteratorIPKcS9_EEEENS4_9eof_errorEEERFNS0_10scan_errorESC_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_11parse_errorEEEZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeES8_EUlSA_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_
_ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27parse_integer_prefix_resultIPKcEENS4_9eof_errorEEERFNS0_10scan_errorES9_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSG_OT0_
Line
Count
Source
1493
414k
{
1494
    if constexpr (std::is_void_v<Ret>) {
1495
        using result = expected<expected_value_type<Exp>, monostate>;
1496
        if (SCN_LIKELY(exp.has_value())) {
1497
            return result(*std::forward<Exp>(exp));
1498
        }
1499
1500
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1501
        return result(unexpect, monostate{});
1502
    }
1503
414k
    else {
1504
414k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1505
414k
        return SCN_LIKELY(exp.has_value())
1506
414k
                   ? result(*std::forward<Exp>(exp))
1507
414k
                   : result(unexpect,
1508
0
                            trivial_invoke(std::forward<F>(f),
1509
0
                                           std::forward<Exp>(exp).error()));
1510
414k
    }
1511
414k
}
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS6_9sign_typeEEENS6_9eof_errorEEERFNS0_10scan_errorESH_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESJ_EEDaOSN_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_11parse_errorEEEZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSD_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESG_EEDaOSN_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINSt3__14pairINS1_17basic_scan_bufferIcE16forward_iteratorENS0_4impl9sign_typeEEENS9_9eof_errorEEERFNS0_10scan_errorESC_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS1_17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEEEZNS7_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS8_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS6_9sign_typeEEENS6_9eof_errorEEERFNS0_10scan_errorESE_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESG_EEDaOSK_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_11parse_errorEEEZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeES8_EUlSA_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESD_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINSt3__14pairIPKcNS0_4impl9sign_typeEEENS8_9eof_errorEEERFNS0_10scan_errorESB_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESD_EEDaOSH_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedIPKcNS0_4impl11parse_errorEEEZNS6_29map_parse_error_to_scan_errorENS0_10scan_error4codeES5_EUlS7_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESA_EEDaOSF_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_INS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESM_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESO_EEDaOST_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9eof_errorEEERFNS0_10scan_errorESD_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESF_EEDaOSK_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9eof_errorEEERFNS4_11parse_errorESD_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESF_EEDaOSK_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27parse_integer_prefix_resultINS4_27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS4_9eof_errorEEERFNS0_10scan_errorESF_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESH_EEDaOSM_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_11parse_errorEEEZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSD_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESF_EEDaOSM_OT0_
_ZN3scn2v46detail20transform_error_implINS0_8expectedINS1_17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEEERFNS7_11parse_errorES8_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESA_EEDaOSF_OT0_
Line
Count
Source
1493
100k
{
1494
    if constexpr (std::is_void_v<Ret>) {
1495
        using result = expected<expected_value_type<Exp>, monostate>;
1496
        if (SCN_LIKELY(exp.has_value())) {
1497
            return result(*std::forward<Exp>(exp));
1498
        }
1499
1500
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1501
        return result(unexpect, monostate{});
1502
    }
1503
100k
    else {
1504
100k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1505
100k
        return SCN_LIKELY(exp.has_value())
1506
100k
                   ? result(*std::forward<Exp>(exp))
1507
100k
                   : result(unexpect,
1508
18.8k
                            trivial_invoke(std::forward<F>(f),
1509
18.8k
                                           std::forward<Exp>(exp).error()));
1510
100k
    }
1511
100k
}
_ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27parse_integer_prefix_resultINS1_17basic_scan_bufferIwE16forward_iteratorEEENS4_9eof_errorEEERFNS0_10scan_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_
Line
Count
Source
1493
125k
{
1494
    if constexpr (std::is_void_v<Ret>) {
1495
        using result = expected<expected_value_type<Exp>, monostate>;
1496
        if (SCN_LIKELY(exp.has_value())) {
1497
            return result(*std::forward<Exp>(exp));
1498
        }
1499
1500
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1501
        return result(unexpect, monostate{});
1502
    }
1503
125k
    else {
1504
125k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1505
125k
        return SCN_LIKELY(exp.has_value())
1506
125k
                   ? result(*std::forward<Exp>(exp))
1507
125k
                   : result(unexpect,
1508
0
                            trivial_invoke(std::forward<F>(f),
1509
0
                                           std::forward<Exp>(exp).error()));
1510
125k
    }
1511
125k
}
_ZN3scn2v46detail20transform_error_implINS0_8expectedINS1_17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEEEZNS7_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS8_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESA_EEDaOSH_OT0_
Line
Count
Source
1493
107k
{
1494
    if constexpr (std::is_void_v<Ret>) {
1495
        using result = expected<expected_value_type<Exp>, monostate>;
1496
        if (SCN_LIKELY(exp.has_value())) {
1497
            return result(*std::forward<Exp>(exp));
1498
        }
1499
1500
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1501
        return result(unexpect, monostate{});
1502
    }
1503
107k
    else {
1504
107k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1505
107k
        return SCN_LIKELY(exp.has_value())
1506
107k
                   ? result(*std::forward<Exp>(exp))
1507
107k
                   : result(unexpect,
1508
104k
                            trivial_invoke(std::forward<F>(f),
1509
104k
                                           std::forward<Exp>(exp).error()));
1510
107k
    }
1511
107k
}
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_IPKwS8_EENS4_15take_width_viewINSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESK_ETnPNSB_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESM_EEDaOSQ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9eof_errorEEERFNS0_10scan_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_
_ZN3scn2v46detail20transform_error_implINS0_8expectedIPKwNS0_4impl9eof_errorEEERFNS0_10scan_errorES7_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ES9_EEDaOSE_OT0_
Line
Count
Source
1493
126k
{
1494
    if constexpr (std::is_void_v<Ret>) {
1495
        using result = expected<expected_value_type<Exp>, monostate>;
1496
        if (SCN_LIKELY(exp.has_value())) {
1497
            return result(*std::forward<Exp>(exp));
1498
        }
1499
1500
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1501
        return result(unexpect, monostate{});
1502
    }
1503
126k
    else {
1504
126k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1505
126k
        return SCN_LIKELY(exp.has_value())
1506
126k
                   ? result(*std::forward<Exp>(exp))
1507
126k
                   : result(unexpect,
1508
1.74k
                            trivial_invoke(std::forward<F>(f),
1509
1.74k
                                           std::forward<Exp>(exp).error()));
1510
126k
    }
1511
126k
}
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9eof_errorEEERFNS4_11parse_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27parse_integer_prefix_resultINS4_27counted_width_iterator_impl22counted_width_iteratorIPKwS9_EEEENS4_9eof_errorEEERFNS0_10scan_errorESC_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_11parse_errorEEEZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSA_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSJ_OT0_
_ZN3scn2v46detail20transform_error_implINS0_8expectedIPKwNS0_4impl9eof_errorEEERFNS6_11parse_errorES7_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ES9_EEDaOSE_OT0_
Line
Count
Source
1493
100k
{
1494
    if constexpr (std::is_void_v<Ret>) {
1495
        using result = expected<expected_value_type<Exp>, monostate>;
1496
        if (SCN_LIKELY(exp.has_value())) {
1497
            return result(*std::forward<Exp>(exp));
1498
        }
1499
1500
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1501
        return result(unexpect, monostate{});
1502
    }
1503
100k
    else {
1504
100k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1505
100k
        return SCN_LIKELY(exp.has_value())
1506
100k
                   ? result(*std::forward<Exp>(exp))
1507
100k
                   : result(unexpect,
1508
18.8k
                            trivial_invoke(std::forward<F>(f),
1509
18.8k
                                           std::forward<Exp>(exp).error()));
1510
100k
    }
1511
100k
}
_ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27parse_integer_prefix_resultIPKwEENS4_9eof_errorEEERFNS0_10scan_errorES9_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSG_OT0_
Line
Count
Source
1493
125k
{
1494
    if constexpr (std::is_void_v<Ret>) {
1495
        using result = expected<expected_value_type<Exp>, monostate>;
1496
        if (SCN_LIKELY(exp.has_value())) {
1497
            return result(*std::forward<Exp>(exp));
1498
        }
1499
1500
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1501
        return result(unexpect, monostate{});
1502
    }
1503
125k
    else {
1504
125k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1505
125k
        return SCN_LIKELY(exp.has_value())
1506
125k
                   ? result(*std::forward<Exp>(exp))
1507
125k
                   : result(unexpect,
1508
0
                            trivial_invoke(std::forward<F>(f),
1509
0
                                           std::forward<Exp>(exp).error()));
1510
125k
    }
1511
125k
}
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS6_9sign_typeEEENS6_9eof_errorEEERFNS0_10scan_errorESH_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESJ_EEDaOSN_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_11parse_errorEEEZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSD_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESG_EEDaOSN_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINSt3__14pairINS1_17basic_scan_bufferIwE16forward_iteratorENS0_4impl9sign_typeEEENS9_9eof_errorEEERFNS0_10scan_errorESC_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS1_17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEEEZNS7_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS8_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS6_9sign_typeEEENS6_9eof_errorEEERFNS0_10scan_errorESE_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESG_EEDaOSK_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_11parse_errorEEEZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSA_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESD_EEDaOSK_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINSt3__14pairIPKwNS0_4impl9sign_typeEEENS8_9eof_errorEEERFNS0_10scan_errorESB_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESD_EEDaOSH_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedIPKwNS0_4impl11parse_errorEEEZNS6_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS7_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESA_EEDaOSH_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedIPKcNS0_4impl9eof_errorEEERFNS6_11parse_errorES7_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ES9_EEDaOSE_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_IPKcS8_EENS4_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS8_S8_EEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESK_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESM_EEDaOSR_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_IPKwS8_EENS4_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS8_S8_EEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESK_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESM_EEDaOSR_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS1_17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEEERFNS0_10scan_errorES8_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS1_17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEEERFNS0_10scan_errorES8_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSG_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS1_17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEEERFNS0_10scan_errorES8_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS1_17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEEERFNS0_10scan_errorES8_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSG_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedIPKcNS0_4impl9eof_errorEEERFNS0_10scan_errorES7_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSG_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedIPKcNS0_4impl9eof_errorEEERFNS0_10scan_errorES7_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESA_EEDaOSF_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_INS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESM_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESQ_EEDaOSV_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_INS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESM_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESP_EEDaOSU_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9eof_errorEEERFNS0_10scan_errorESD_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESH_EEDaOSM_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9eof_errorEEERFNS0_10scan_errorESD_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESG_EEDaOSL_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27parse_integer_prefix_resultINS4_27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS4_9eof_errorEEERFNS0_10scan_errorESF_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESJ_EEDaOSO_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27parse_integer_prefix_resultINS4_27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS4_9eof_errorEEERFNS0_10scan_errorESF_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESI_EEDaOSN_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9eof_errorEEERFNS4_11parse_errorESD_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESH_EEDaOSM_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9eof_errorEEERFNS4_11parse_errorESD_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESG_EEDaOSL_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_11parse_errorEEEZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSD_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESH_EEDaOSO_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27parse_integer_prefix_resultINS1_17basic_scan_bufferIcE16forward_iteratorEEENS4_9eof_errorEEERFNS0_10scan_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27parse_integer_prefix_resultINS1_17basic_scan_bufferIcE16forward_iteratorEEENS4_9eof_errorEEERFNS0_10scan_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESD_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS1_17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEEERFNS7_11parse_errorES8_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS1_17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEEERFNS7_11parse_errorES8_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSG_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS1_17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEEEZNS7_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS8_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_IPKcS8_EENS4_15take_width_viewINSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESK_ETnPNSB_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESO_EEDaOSS_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_IPKcS8_EENS4_15take_width_viewINSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESK_ETnPNSB_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESN_EEDaOSR_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9eof_errorEEERFNS0_10scan_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9eof_errorEEERFNS0_10scan_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESD_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27parse_integer_prefix_resultINS4_27counted_width_iterator_impl22counted_width_iteratorIPKcS9_EEEENS4_9eof_errorEEERFNS0_10scan_errorESC_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESG_EEDaOSL_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27parse_integer_prefix_resultINS4_27counted_width_iterator_impl22counted_width_iteratorIPKcS9_EEEENS4_9eof_errorEEERFNS0_10scan_errorESC_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESF_EEDaOSK_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9eof_errorEEERFNS4_11parse_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9eof_errorEEERFNS4_11parse_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESD_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_11parse_errorEEEZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeES8_EUlSA_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27parse_integer_prefix_resultIPKcEENS4_9eof_errorEEERFNS0_10scan_errorES9_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESD_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27parse_integer_prefix_resultIPKcEENS4_9eof_errorEEERFNS0_10scan_errorES9_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS6_9sign_typeEEENS6_9eof_errorEEERFNS0_10scan_errorESH_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESL_EEDaOSP_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS6_9sign_typeEEENS6_9eof_errorEEERFNS0_10scan_errorESH_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESK_EEDaOSO_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINSt3__14pairINS1_17basic_scan_bufferIcE16forward_iteratorENS0_4impl9sign_typeEEENS9_9eof_errorEEERFNS0_10scan_errorESC_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESG_EEDaOSK_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINSt3__14pairINS1_17basic_scan_bufferIcE16forward_iteratorENS0_4impl9sign_typeEEENS9_9eof_errorEEERFNS0_10scan_errorESC_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESF_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS6_9sign_typeEEENS6_9eof_errorEEERFNS0_10scan_errorESE_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESI_EEDaOSM_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS6_9sign_typeEEENS6_9eof_errorEEERFNS0_10scan_errorESE_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESH_EEDaOSL_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINSt3__14pairIPKcNS0_4impl9sign_typeEEENS8_9eof_errorEEERFNS0_10scan_errorESB_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESF_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINSt3__14pairIPKcNS0_4impl9sign_typeEEENS8_9eof_errorEEERFNS0_10scan_errorESB_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedIPKcNS0_4impl11parse_errorEEEZNS6_29map_parse_error_to_scan_errorENS0_10scan_error4codeES5_EUlS7_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSG_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_INS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESM_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESQ_EEDaOSV_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_INS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESM_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESP_EEDaOSU_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9eof_errorEEERFNS0_10scan_errorESD_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESH_EEDaOSM_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9eof_errorEEERFNS0_10scan_errorESD_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESG_EEDaOSL_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27parse_integer_prefix_resultINS4_27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS4_9eof_errorEEERFNS0_10scan_errorESF_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESJ_EEDaOSO_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27parse_integer_prefix_resultINS4_27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS4_9eof_errorEEERFNS0_10scan_errorESF_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESI_EEDaOSN_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9eof_errorEEERFNS4_11parse_errorESD_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESH_EEDaOSM_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9eof_errorEEERFNS4_11parse_errorESD_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESG_EEDaOSL_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_11parse_errorEEEZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSD_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESH_EEDaOSO_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27parse_integer_prefix_resultINS1_17basic_scan_bufferIwE16forward_iteratorEEENS4_9eof_errorEEERFNS0_10scan_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27parse_integer_prefix_resultINS1_17basic_scan_bufferIwE16forward_iteratorEEENS4_9eof_errorEEERFNS0_10scan_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESD_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS1_17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEEERFNS7_11parse_errorES8_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS1_17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEEERFNS7_11parse_errorES8_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSG_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS1_17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEEEZNS7_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS8_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_IPKwS8_EENS4_15take_width_viewINSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESK_ETnPNSB_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESO_EEDaOSS_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_IPKwS8_EENS4_15take_width_viewINSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESK_ETnPNSB_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESN_EEDaOSR_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9eof_errorEEERFNS0_10scan_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9eof_errorEEERFNS0_10scan_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESD_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedIPKwNS0_4impl9eof_errorEEERFNS0_10scan_errorES7_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSG_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedIPKwNS0_4impl9eof_errorEEERFNS0_10scan_errorES7_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESA_EEDaOSF_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27parse_integer_prefix_resultINS4_27counted_width_iterator_impl22counted_width_iteratorIPKwS9_EEEENS4_9eof_errorEEERFNS0_10scan_errorESC_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESG_EEDaOSL_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27parse_integer_prefix_resultINS4_27counted_width_iterator_impl22counted_width_iteratorIPKwS9_EEEENS4_9eof_errorEEERFNS0_10scan_errorESC_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESF_EEDaOSK_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9eof_errorEEERFNS4_11parse_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9eof_errorEEERFNS4_11parse_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESD_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_11parse_errorEEEZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSA_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSL_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27parse_integer_prefix_resultIPKwEENS4_9eof_errorEEERFNS0_10scan_errorES9_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESD_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27parse_integer_prefix_resultIPKwEENS4_9eof_errorEEERFNS0_10scan_errorES9_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedIPKwNS0_4impl9eof_errorEEERFNS6_11parse_errorES7_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSG_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedIPKwNS0_4impl9eof_errorEEERFNS6_11parse_errorES7_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESA_EEDaOSF_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS6_9sign_typeEEENS6_9eof_errorEEERFNS0_10scan_errorESH_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESL_EEDaOSP_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS6_9sign_typeEEENS6_9eof_errorEEERFNS0_10scan_errorESH_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESK_EEDaOSO_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINSt3__14pairINS1_17basic_scan_bufferIwE16forward_iteratorENS0_4impl9sign_typeEEENS9_9eof_errorEEERFNS0_10scan_errorESC_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESG_EEDaOSK_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINSt3__14pairINS1_17basic_scan_bufferIwE16forward_iteratorENS0_4impl9sign_typeEEENS9_9eof_errorEEERFNS0_10scan_errorESC_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESF_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS6_9sign_typeEEENS6_9eof_errorEEERFNS0_10scan_errorESE_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESI_EEDaOSM_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS6_9sign_typeEEENS6_9eof_errorEEERFNS0_10scan_errorESE_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESH_EEDaOSL_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINSt3__14pairIPKwNS0_4impl9sign_typeEEENS8_9eof_errorEEERFNS0_10scan_errorESB_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESF_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINSt3__14pairIPKwNS0_4impl9sign_typeEEENS8_9eof_errorEEERFNS0_10scan_errorESB_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedIPKwNS0_4impl11parse_errorEEEZNS6_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS7_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedIPKcNS0_4impl9eof_errorEEERFNS6_11parse_errorES7_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSG_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedIPKcNS0_4impl9eof_errorEEERFNS6_11parse_errorES7_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESA_EEDaOSF_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_IPKcS8_EENS4_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS8_S8_EEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESK_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESO_EEDaOST_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_IPKcS8_EENS4_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS8_S8_EEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESK_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESN_EEDaOSS_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_IPKwS8_EENS4_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS8_S8_EEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESK_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESO_EEDaOST_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_IPKwS8_EENS4_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS8_S8_EEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESK_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESN_EEDaOSS_OT0_
1512
template <typename Exp,
1513
          typename F,
1514
          std::enable_if_t<is_exp_void<Exp>::value>* = nullptr,
1515
          typename Ret = decltype(trivial_invoke(SCN_DECLVAL(F),
1516
                                                 SCN_DECLVAL(Exp).error()))>
1517
constexpr auto transform_error_impl(Exp&& exp, F&& f)
1518
{
1519
    if constexpr (std::is_void_v<Ret>) {
1520
        using result = expected<expected_value_type<Exp>, monostate>;
1521
        if (SCN_LIKELY(exp.has_value())) {
1522
            return result();
1523
        }
1524
1525
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1526
        return result(unexpect, monostate{});
1527
    }
1528
    else {
1529
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1530
        return SCN_LIKELY(exp.has_value())
1531
                   ? result()
1532
                   : result(unexpect,
1533
                            trivial_invoke(std::forward<F>(f),
1534
                                           std::forward<Exp>(exp).error()));
1535
    }
1536
}
1537
1538
template <class T, class E, class U, class G, class UR, class GR>
1539
using enable_from_other =
1540
    std::enable_if_t<std::is_constructible_v<T, UR> &&
1541
                     std::is_constructible_v<E, GR> &&
1542
                     !std::is_constructible_v<T, expected<U, G>&> &&
1543
                     !std::is_constructible_v<T, expected<U, G>&&> &&
1544
                     !std::is_constructible_v<T, const expected<U, G>&> &&
1545
                     !std::is_constructible_v<T, const expected<U, G>&&> &&
1546
                     !std::is_convertible_v<expected<U, G>&, T> &&
1547
                     !std::is_convertible_v<expected<U, G>&&, T> &&
1548
                     !std::is_convertible_v<const expected<U, G>&, T> &&
1549
                     !std::is_convertible_v<const expected<U, G>&&, T>>;
1550
}  // namespace detail
1551
1552
/**
1553
 * \see `std::expected`
1554
 */
1555
template <typename T, typename E>
1556
class SCN_TRIVIAL_ABI expected
1557
    : private detail::expected_operations_base<T, E>,
1558
      private detail::expected_delete_ctor_base<T, E>,
1559
      private detail::expected_delete_assign_base<T, E>,
1560
      private detail::expected_default_ctor_base<T, E> {
1561
    using base = detail::expected_operations_base<T, E>;
1562
    using ctor_base = detail::expected_default_ctor_base<T, E>;
1563
1564
    static_assert(std::is_void_v<T> || std::is_destructible_v<T>,
1565
                  "T must be void or Destructible");
1566
    static_assert(std::is_destructible_v<E>, "E must be Destructible");
1567
1568
    static_assert(!std::is_same_v<std::remove_cv_t<T>, std::in_place_t>);
1569
    static_assert(!std::is_same_v<std::remove_cv_t<T>, unexpect_t>);
1570
    static_assert(!std::is_same_v<std::remove_cv_t<T>, unexpected<E>>);
1571
1572
public:
1573
    using value_type = T;
1574
    using error_type = E;
1575
    using unexpected_type = unexpected<E>;
1576
1577
    template <typename U>
1578
    using rebind = expected<U, error_type>;
1579
1580
    // Special member functions are defaulted, implementations provided
1581
    // by base classes
1582
1583
5.71M
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v4::scan_error>::expected()
Line
Count
Source
1583
73.2k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v4::scan_error>::expected()
Line
Count
Source
1583
64.2k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error>::expected()
Line
Count
Source
1583
85.6k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error>::expected()
Line
Count
Source
1583
69.6k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v4::scan_error>::expected()
Line
Count
Source
1583
87.1k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v4::scan_error>::expected()
Line
Count
Source
1583
70.4k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v4::scan_error>::expected()
Line
Count
Source
1583
73.2k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v4::scan_error>::expected()
Line
Count
Source
1583
64.2k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v4::scan_error>::expected()
Line
Count
Source
1583
85.1k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v4::scan_error>::expected()
Line
Count
Source
1583
69.7k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v4::scan_error>::expected()
Line
Count
Source
1583
86.6k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v4::scan_error>::expected()
Line
Count
Source
1583
70.4k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v4::scan_error>::expected()
Line
Count
Source
1583
29.3k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v4::scan_error>::expected()
Line
Count
Source
1583
29.2k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error>::expected()
Line
Count
Source
1583
29.4k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error>::expected()
Line
Count
Source
1583
29.3k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v4::scan_error>::expected()
Line
Count
Source
1583
29.5k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v4::scan_error>::expected()
Line
Count
Source
1583
29.4k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v4::scan_error>::expected()
Line
Count
Source
1583
29.3k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v4::scan_error>::expected()
Line
Count
Source
1583
29.2k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v4::scan_error>::expected()
Line
Count
Source
1583
29.4k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v4::scan_error>::expected()
Line
Count
Source
1583
29.3k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v4::scan_error>::expected()
Line
Count
Source
1583
29.5k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v4::scan_error>::expected()
Line
Count
Source
1583
29.4k
    constexpr expected() = default;
scn::v4::expected<void, scn::v4::scan_error>::expected()
Line
Count
Source
1583
4.46M
    constexpr expected() = default;
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::expected()
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error>::expected()
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::expected()
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::expected()
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::expected()
1584
1585
    constexpr expected(const expected&) = default;
1586
    constexpr expected(expected&&) = default;
1587
    constexpr expected& operator=(const expected&) = default;
1588
520k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v4::scan_error>&&)
Line
Count
Source
1588
14.4k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v4::scan_error>&&)
Line
Count
Source
1588
14.4k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error>&&)
Line
Count
Source
1588
14.4k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error>&&)
Line
Count
Source
1588
14.4k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v4::scan_error>&&)
Line
Count
Source
1588
14.4k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v4::scan_error>&&)
Line
Count
Source
1588
14.4k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v4::scan_error>&&)
Line
Count
Source
1588
14.4k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v4::scan_error>&&)
Line
Count
Source
1588
14.4k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v4::scan_error>&&)
Line
Count
Source
1588
14.4k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v4::scan_error>&&)
Line
Count
Source
1588
14.4k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v4::scan_error>&&)
Line
Count
Source
1588
14.4k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v4::scan_error>&&)
Line
Count
Source
1588
14.4k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v4::scan_error>&&)
Line
Count
Source
1588
28.8k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v4::scan_error>&&)
Line
Count
Source
1588
28.8k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error>&&)
Line
Count
Source
1588
28.8k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error>&&)
Line
Count
Source
1588
28.8k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v4::scan_error>&&)
Line
Count
Source
1588
28.8k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v4::scan_error>&&)
Line
Count
Source
1588
28.8k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v4::scan_error>&&)
Line
Count
Source
1588
28.8k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v4::scan_error>&&)
Line
Count
Source
1588
28.8k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v4::scan_error>&&)
Line
Count
Source
1588
28.8k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v4::scan_error>&&)
Line
Count
Source
1588
28.8k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v4::scan_error>&&)
Line
Count
Source
1588
28.8k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v4::scan_error>&&)
Line
Count
Source
1588
28.8k
    constexpr expected& operator=(expected&&) = default;
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>&&)
1589
1590
    ~expected() = default;
1591
1592
    /**
1593
     * Construct an expected value.
1594
     * Intentionally non-explicit, to make constructing an expected
1595
     * value as transparent as possible.
1596
     */
1597
    template <typename U = value_type,
1598
              typename = std::enable_if_t<std::is_convertible_v<U, value_type>>>
1599
    SCN_IMPLICIT constexpr expected(U&& val) noexcept(
1600
        std::is_nothrow_constructible_v<base, std::in_place_t, U&&>)
1601
14.4M
        : base(std::in_place, std::forward<U>(val)),
1602
14.4M
          ctor_base(detail::non_default_ctor_tag_t{})
1603
14.4M
    {
1604
14.4M
    }
scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::scan_error>::expected<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void>(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&&)
Line
Count
Source
1601
363k
        : base(std::in_place, std::forward<U>(val)),
1602
363k
          ctor_base(detail::non_default_ctor_tag_t{})
1603
363k
    {
1604
363k
    }
scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::scan_error>::expected<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, void>(scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >&&)
Line
Count
Source
1601
362k
        : base(std::in_place, std::forward<U>(val)),
1602
362k
          ctor_base(detail::non_default_ctor_tag_t{})
1603
362k
    {
1604
362k
    }
scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::scan_error>::expected<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void>(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&&)
Line
Count
Source
1601
3.09k
        : base(std::in_place, std::forward<U>(val)),
1602
3.09k
          ctor_base(detail::non_default_ctor_tag_t{})
1603
3.09k
    {
1604
3.09k
    }
scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::scan_error>::expected<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, void>(scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >&&)
Line
Count
Source
1601
3.09k
        : base(std::in_place, std::forward<U>(val)),
1602
3.09k
          ctor_base(detail::non_default_ctor_tag_t{})
1603
3.09k
    {
1604
3.09k
    }
scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::scan_error>::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, void>(scn::v4::detail::basic_scan_buffer<char>::forward_iterator&&)
Line
Count
Source
1601
1.33M
        : base(std::in_place, std::forward<U>(val)),
1602
1.33M
          ctor_base(detail::non_default_ctor_tag_t{})
1603
1.33M
    {
1604
1.33M
    }
scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::scan_error>::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, void>(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&&)
Line
Count
Source
1601
133k
        : base(std::in_place, std::forward<U>(val)),
1602
133k
          ctor_base(detail::non_default_ctor_tag_t{})
1603
133k
    {
1604
133k
    }
scn::v4::expected<char const*, scn::v4::scan_error>::expected<char const*, void>(char const*&&)
Line
Count
Source
1601
2.50M
        : base(std::in_place, std::forward<U>(val)),
1602
2.50M
          ctor_base(detail::non_default_ctor_tag_t{})
1603
2.50M
    {
1604
2.50M
    }
scn::v4::expected<wchar_t const*, scn::v4::scan_error>::expected<wchar_t const*, void>(wchar_t const*&&)
Line
Count
Source
1601
247k
        : base(std::in_place, std::forward<U>(val)),
1602
247k
          ctor_base(detail::non_default_ctor_tag_t{})
1603
247k
    {
1604
247k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::scan_error>::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator&, void>(scn::v4::detail::basic_scan_buffer<char>::forward_iterator&)
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::scan_error>::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&, void>(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&)
scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::eof_error>::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, void>(scn::v4::detail::basic_scan_buffer<char>::forward_iterator&&)
Line
Count
Source
1601
1.25M
        : base(std::in_place, std::forward<U>(val)),
1602
1.25M
          ctor_base(detail::non_default_ctor_tag_t{})
1603
1.25M
    {
1604
1.25M
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error>::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, void>(std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v4::scan_error>::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, long>, void>(std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, long>&&)
Line
Count
Source
1601
595k
        : base(std::in_place, std::forward<U>(val)),
1602
595k
          ctor_base(detail::non_default_ctor_tag_t{})
1603
595k
    {
1604
595k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, void>(std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error>::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>(scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error>::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>(scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&&)
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error>::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator&, void>(scn::v4::detail::basic_scan_buffer<char>::forward_iterator&)
Line
Count
Source
1601
139k
        : base(std::in_place, std::forward<U>(val)),
1602
139k
          ctor_base(detail::non_default_ctor_tag_t{})
1603
139k
    {
1604
139k
    }
scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, void>(std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>&&)
Line
Count
Source
1601
412k
        : base(std::in_place, std::forward<U>(val)),
1602
412k
          ctor_base(detail::non_default_ctor_tag_t{})
1603
412k
    {
1604
412k
    }
scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error>::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, void>(scn::v4::detail::basic_scan_buffer<char>::forward_iterator&&)
Line
Count
Source
1601
609k
        : base(std::in_place, std::forward<U>(val)),
1602
609k
          ctor_base(detail::non_default_ctor_tag_t{})
1603
609k
    {
1604
609k
    }
scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::impl::eof_error>::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, void>(scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>&&)
Line
Count
Source
1601
412k
        : base(std::in_place, std::forward<U>(val)),
1602
412k
          ctor_base(detail::non_default_ctor_tag_t{})
1603
412k
    {
1604
412k
    }
scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::scan_error>::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, void>(scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>&&)
Line
Count
Source
1601
412k
        : base(std::in_place, std::forward<U>(val)),
1602
412k
          ctor_base(detail::non_default_ctor_tag_t{})
1603
412k
    {
1604
412k
    }
scn::v4::expected<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::expected<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
1601
57.4k
        : base(std::in_place, std::forward<U>(val)),
1602
57.4k
          ctor_base(detail::non_default_ctor_tag_t{})
1603
57.4k
    {
1604
57.4k
    }
scn::v4::expected<char const*, scn::v4::impl::eof_error>::expected<char const*, void>(char const*&&)
Line
Count
Source
1601
936k
        : base(std::in_place, std::forward<U>(val)),
1602
936k
          ctor_base(detail::non_default_ctor_tag_t{})
1603
936k
    {
1604
936k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::eof_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::eof_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, scn::v4::scan_error>::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, void>(std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&&)
scn::v4::expected<std::__1::pair<char const*, long>, scn::v4::scan_error>::expected<std::__1::pair<char const*, long>, void>(std::__1::pair<char const*, long>&&)
Line
Count
Source
1601
595k
        : base(std::in_place, std::forward<U>(val)),
1602
595k
          ctor_base(detail::non_default_ctor_tag_t{})
1603
595k
    {
1604
595k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, void>(std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::impl::eof_error>::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, void>(scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::scan_error>::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, void>(scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&&)
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
scn::v4::expected<char const*, scn::v4::impl::parse_error>::expected<char const*&, void>(char const*&)
Line
Count
Source
1601
139k
        : base(std::in_place, std::forward<U>(val)),
1602
139k
          ctor_base(detail::non_default_ctor_tag_t{})
1603
139k
    {
1604
139k
    }
scn::v4::expected<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::expected<std::__1::pair<char const*, scn::v4::impl::sign_type>, void>(std::__1::pair<char const*, scn::v4::impl::sign_type>&&)
Line
Count
Source
1601
414k
        : base(std::in_place, std::forward<U>(val)),
1602
414k
          ctor_base(detail::non_default_ctor_tag_t{})
1603
414k
    {
1604
414k
    }
scn::v4::expected<char const*, scn::v4::impl::parse_error>::expected<char const*, void>(char const*&&)
Line
Count
Source
1601
2.59k
        : base(std::in_place, std::forward<U>(val)),
1602
2.59k
          ctor_base(detail::non_default_ctor_tag_t{})
1603
2.59k
    {
1604
2.59k
    }
scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::impl::eof_error>::expected<scn::v4::impl::parse_integer_prefix_result<char const*>, void>(scn::v4::impl::parse_integer_prefix_result<char const*>&&)
Line
Count
Source
1601
414k
        : base(std::in_place, std::forward<U>(val)),
1602
414k
          ctor_base(detail::non_default_ctor_tag_t{})
1603
414k
    {
1604
414k
    }
scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::scan_error>::expected<scn::v4::impl::parse_integer_prefix_result<char const*>, void>(scn::v4::impl::parse_integer_prefix_result<char const*>&&)
Line
Count
Source
1601
414k
        : base(std::in_place, std::forward<U>(val)),
1602
414k
          ctor_base(detail::non_default_ctor_tag_t{})
1603
414k
    {
1604
414k
    }
scn::v4::expected<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::expected<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
1601
57.3k
        : base(std::in_place, std::forward<U>(val)),
1602
57.3k
          ctor_base(detail::non_default_ctor_tag_t{})
1603
57.3k
    {
1604
57.3k
    }
scn::v4::expected<long, scn::v4::scan_error>::expected<long, void>(long&&)
Line
Count
Source
1601
732k
        : base(std::in_place, std::forward<U>(val)),
1602
732k
          ctor_base(detail::non_default_ctor_tag_t{})
1603
732k
    {
1604
732k
    }
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, void>(std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, void>(std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, void>(std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<std::__1::pair<char const*, scn::v4::impl::sign_type>, void>(std::__1::pair<char const*, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::expected<char const*, scn::v4::scan_error>::expected<char const*&, void>(char const*&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&)
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::scan_error>::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator const&, void>(scn::v4::detail::basic_scan_buffer<char>::forward_iterator const&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&)
Unexecuted instantiation: scn::v4::expected<char const*, scn::v4::scan_error>::expected<char const* const&, void>(char const* const&)
scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::eof_error>::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, void>(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&&)
Line
Count
Source
1601
364k
        : base(std::in_place, std::forward<U>(val)),
1602
364k
          ctor_base(detail::non_default_ctor_tag_t{})
1603
364k
    {
1604
364k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error>::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, void>(std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v4::scan_error>::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, void>(std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>&&)
Line
Count
Source
1601
101k
        : base(std::in_place, std::forward<U>(val)),
1602
101k
          ctor_base(detail::non_default_ctor_tag_t{})
1603
101k
    {
1604
101k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, void>(std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error>::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>(scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error>::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>(scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&&)
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error>::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&, void>(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&)
Line
Count
Source
1601
2.41k
        : base(std::in_place, std::forward<U>(val)),
1602
2.41k
          ctor_base(detail::non_default_ctor_tag_t{})
1603
2.41k
    {
1604
2.41k
    }
scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, void>(std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>&&)
Line
Count
Source
1601
125k
        : base(std::in_place, std::forward<U>(val)),
1602
125k
          ctor_base(detail::non_default_ctor_tag_t{})
1603
125k
    {
1604
125k
    }
scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error>::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, void>(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&&)
Line
Count
Source
1601
84.0k
        : base(std::in_place, std::forward<U>(val)),
1602
84.0k
          ctor_base(detail::non_default_ctor_tag_t{})
1603
84.0k
    {
1604
84.0k
    }
scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::impl::eof_error>::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, void>(scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>&&)
Line
Count
Source
1601
125k
        : base(std::in_place, std::forward<U>(val)),
1602
125k
          ctor_base(detail::non_default_ctor_tag_t{})
1603
125k
    {
1604
125k
    }
scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::scan_error>::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, void>(scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>&&)
Line
Count
Source
1601
125k
        : base(std::in_place, std::forward<U>(val)),
1602
125k
          ctor_base(detail::non_default_ctor_tag_t{})
1603
125k
    {
1604
125k
    }
scn::v4::expected<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::expected<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
1601
550
        : base(std::in_place, std::forward<U>(val)),
1602
550
          ctor_base(detail::non_default_ctor_tag_t{})
1603
550
    {
1604
550
    }
scn::v4::expected<wchar_t const*, scn::v4::impl::eof_error>::expected<wchar_t const*, void>(wchar_t const*&&)
Line
Count
Source
1601
364k
        : base(std::in_place, std::forward<U>(val)),
1602
364k
          ctor_base(detail::non_default_ctor_tag_t{})
1603
364k
    {
1604
364k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::eof_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::eof_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, scn::v4::scan_error>::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, void>(std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&&)
scn::v4::expected<std::__1::pair<wchar_t const*, long>, scn::v4::scan_error>::expected<std::__1::pair<wchar_t const*, long>, void>(std::__1::pair<wchar_t const*, long>&&)
Line
Count
Source
1601
101k
        : base(std::in_place, std::forward<U>(val)),
1602
101k
          ctor_base(detail::non_default_ctor_tag_t{})
1603
101k
    {
1604
101k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, void>(std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::impl::eof_error>::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, void>(scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::scan_error>::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, void>(scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&&)
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
scn::v4::expected<wchar_t const*, scn::v4::impl::parse_error>::expected<wchar_t const*&, void>(wchar_t const*&)
Line
Count
Source
1601
2.41k
        : base(std::in_place, std::forward<U>(val)),
1602
2.41k
          ctor_base(detail::non_default_ctor_tag_t{})
1603
2.41k
    {
1604
2.41k
    }
scn::v4::expected<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::expected<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, void>(std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>&&)
Line
Count
Source
1601
125k
        : base(std::in_place, std::forward<U>(val)),
1602
125k
          ctor_base(detail::non_default_ctor_tag_t{})
1603
125k
    {
1604
125k
    }
scn::v4::expected<wchar_t const*, scn::v4::impl::parse_error>::expected<wchar_t const*, void>(wchar_t const*&&)
Line
Count
Source
1601
81.2k
        : base(std::in_place, std::forward<U>(val)),
1602
81.2k
          ctor_base(detail::non_default_ctor_tag_t{})
1603
81.2k
    {
1604
81.2k
    }
scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::impl::eof_error>::expected<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, void>(scn::v4::impl::parse_integer_prefix_result<wchar_t const*>&&)
Line
Count
Source
1601
125k
        : base(std::in_place, std::forward<U>(val)),
1602
125k
          ctor_base(detail::non_default_ctor_tag_t{})
1603
125k
    {
1604
125k
    }
scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::scan_error>::expected<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, void>(scn::v4::impl::parse_integer_prefix_result<wchar_t const*>&&)
Line
Count
Source
1601
125k
        : base(std::in_place, std::forward<U>(val)),
1602
125k
          ctor_base(detail::non_default_ctor_tag_t{})
1603
125k
    {
1604
125k
    }
scn::v4::expected<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::expected<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
1601
550
        : base(std::in_place, std::forward<U>(val)),
1602
550
          ctor_base(detail::non_default_ctor_tag_t{})
1603
550
    {
1604
550
    }
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, void>(std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, void>(std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, void>(std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, void>(std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::expected<wchar_t const*, scn::v4::scan_error>::expected<wchar_t const*&, void>(wchar_t const*&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&)
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::scan_error>::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator const&, void>(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator const&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&)
Unexecuted instantiation: scn::v4::expected<wchar_t const*, scn::v4::scan_error>::expected<wchar_t const* const&, void>(wchar_t const* const&)
Unexecuted instantiation: scn::v4::expected<wchar_t, scn::v4::scan_error>::expected<wchar_t, void>(wchar_t&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::eof_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::eof_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::expected<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, scn::v4::scan_error>::expected<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, void>(scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::expected<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
1605
1606
    /// Construct an expected value directly in-place
1607
    template <typename... Args,
1608
              typename = std::enable_if_t<std::is_constructible_v<T, Args...>>>
1609
    explicit constexpr expected(std::in_place_t, Args&&... args) noexcept(
1610
        std::is_nothrow_constructible_v<base, std::in_place_t, Args&&...>)
1611
        : base(std::in_place, std::forward<Args>(args)...),
1612
          ctor_base(detail::non_default_ctor_tag_t{})
1613
    {
1614
    }
1615
1616
    template <typename G = E,
1617
              std::enable_if_t<std::is_constructible_v<E, const G&>>* = nullptr,
1618
              std::enable_if_t<!std::is_convertible_v<const G&, E>>* = nullptr>
1619
    explicit constexpr expected(const unexpected<G>& e) noexcept(
1620
        std::is_nothrow_constructible_v<base, unexpect_t, const G&>)
1621
        : base(unexpect, e.error()), ctor_base(detail::non_default_ctor_tag_t{})
1622
    {
1623
    }
1624
    template <typename G = E,
1625
              std::enable_if_t<std::is_constructible_v<E, const G&>>* = nullptr,
1626
              std::enable_if_t<std::is_convertible_v<const G&, E>>* = nullptr>
1627
    SCN_IMPLICIT constexpr expected(const unexpected<G>& e) noexcept(
1628
        std::is_nothrow_constructible_v<base, unexpect_t, const G&>)
1629
        : base(unexpect, e.error()), ctor_base(detail::non_default_ctor_tag_t{})
1630
    {
1631
    }
1632
1633
    template <typename G = E,
1634
              std::enable_if_t<std::is_constructible_v<E, G&&>>* = nullptr,
1635
              std::enable_if_t<!std::is_convertible_v<G&&, E>>* = nullptr>
1636
    explicit constexpr expected(unexpected<G>&& e) noexcept(
1637
        std::is_nothrow_constructible_v<base, unexpect_t, G&&>)
1638
        : base(unexpect, std::move(e.error())),
1639
          ctor_base(detail::non_default_ctor_tag_t{})
1640
    {
1641
    }
1642
    template <typename G = E,
1643
              std::enable_if_t<std::is_constructible_v<E, G&&>>* = nullptr,
1644
              std::enable_if_t<std::is_convertible_v<G&&, E>>* = nullptr>
1645
    SCN_IMPLICIT constexpr expected(unexpected<G>&& e) noexcept(
1646
        std::is_nothrow_constructible_v<base, unexpect_t, G&&>)
1647
5.64M
        : base(unexpect, std::move(e.error())),
1648
5.64M
          ctor_base(detail::non_default_ctor_tag_t{})
1649
5.64M
    {
1650
5.64M
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJaEEENS0_10scan_errorEEC2ISB_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SB_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE
Line
Count
Source
1647
14.4k
        : base(unexpect, std::move(e.error())),
1648
14.4k
          ctor_base(detail::non_default_ctor_tag_t{})
1649
14.4k
    {
1650
14.4k
    }
_ZN3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeIPKcS7_EENS0_10scan_errorEEC2IS9_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS9_OT_EEvE4typeELPv0ETnPNSD_IXsr3stdE16is_convertible_vISF_S9_EEvE4typeELSJ_0EEEONS0_10unexpectedISE_EE
Line
Count
Source
1647
86.6k
        : base(unexpect, std::move(e.error())),
1648
86.6k
          ctor_base(detail::non_default_ctor_tag_t{})
1649
86.6k
    {
1650
86.6k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJhEEENS0_10scan_errorEEC2ISB_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SB_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE
Line
Count
Source
1647
14.4k
        : base(unexpect, std::move(e.error())),
1648
14.4k
          ctor_base(detail::non_default_ctor_tag_t{})
1649
14.4k
    {
1650
14.4k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJiEEENS0_10scan_errorEEC2ISB_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SB_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE
Line
Count
Source
1647
14.4k
        : base(unexpect, std::move(e.error())),
1648
14.4k
          ctor_base(detail::non_default_ctor_tag_t{})
1649
14.4k
    {
1650
14.4k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJjEEENS0_10scan_errorEEC2ISB_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SB_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE
Line
Count
Source
1647
14.4k
        : base(unexpect, std::move(e.error())),
1648
14.4k
          ctor_base(detail::non_default_ctor_tag_t{})
1649
14.4k
    {
1650
14.4k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJxEEENS0_10scan_errorEEC2ISB_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SB_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE
Line
Count
Source
1647
14.4k
        : base(unexpect, std::move(e.error())),
1648
14.4k
          ctor_base(detail::non_default_ctor_tag_t{})
1649
14.4k
    {
1650
14.4k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJyEEENS0_10scan_errorEEC2ISB_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SB_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE
Line
Count
Source
1647
14.4k
        : base(unexpect, std::move(e.error())),
1648
14.4k
          ctor_base(detail::non_default_ctor_tag_t{})
1649
14.4k
    {
1650
14.4k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEJaEEENS0_10scan_errorEEC2ISH_TnPNS7_9enable_ifIXsr3stdE18is_constructible_vISH_OT_EEvE4typeELPv0ETnPNSK_IXsr3stdE16is_convertible_vISM_SH_EEvE4typeELSQ_0EEEONS0_10unexpectedISL_EE
Line
Count
Source
1647
14.4k
        : base(unexpect, std::move(e.error())),
1648
14.4k
          ctor_base(detail::non_default_ctor_tag_t{})
1649
14.4k
    {
1650
14.4k
    }
_ZN3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EENS0_10scan_errorEEC2ISF_TnPNS6_9enable_ifIXsr3stdE18is_constructible_vISF_OT_EEvE4typeELPv0ETnPNSI_IXsr3stdE16is_convertible_vISK_SF_EEvE4typeELSO_0EEEONS0_10unexpectedISJ_EE
Line
Count
Source
1647
86.6k
        : base(unexpect, std::move(e.error())),
1648
86.6k
          ctor_base(detail::non_default_ctor_tag_t{})
1649
86.6k
    {
1650
86.6k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEJhEEENS0_10scan_errorEEC2ISH_TnPNS7_9enable_ifIXsr3stdE18is_constructible_vISH_OT_EEvE4typeELPv0ETnPNSK_IXsr3stdE16is_convertible_vISM_SH_EEvE4typeELSQ_0EEEONS0_10unexpectedISL_EE
Line
Count
Source
1647
14.4k
        : base(unexpect, std::move(e.error())),
1648
14.4k
          ctor_base(detail::non_default_ctor_tag_t{})
1649
14.4k
    {
1650
14.4k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEJiEEENS0_10scan_errorEEC2ISH_TnPNS7_9enable_ifIXsr3stdE18is_constructible_vISH_OT_EEvE4typeELPv0ETnPNSK_IXsr3stdE16is_convertible_vISM_SH_EEvE4typeELSQ_0EEEONS0_10unexpectedISL_EE
Line
Count
Source
1647
14.4k
        : base(unexpect, std::move(e.error())),
1648
14.4k
          ctor_base(detail::non_default_ctor_tag_t{})
1649
14.4k
    {
1650
14.4k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEJjEEENS0_10scan_errorEEC2ISH_TnPNS7_9enable_ifIXsr3stdE18is_constructible_vISH_OT_EEvE4typeELPv0ETnPNSK_IXsr3stdE16is_convertible_vISM_SH_EEvE4typeELSQ_0EEEONS0_10unexpectedISL_EE
Line
Count
Source
1647
14.4k
        : base(unexpect, std::move(e.error())),
1648
14.4k
          ctor_base(detail::non_default_ctor_tag_t{})
1649
14.4k
    {
1650
14.4k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEJxEEENS0_10scan_errorEEC2ISH_TnPNS7_9enable_ifIXsr3stdE18is_constructible_vISH_OT_EEvE4typeELPv0ETnPNSK_IXsr3stdE16is_convertible_vISM_SH_EEvE4typeELSQ_0EEEONS0_10unexpectedISL_EE
Line
Count
Source
1647
14.4k
        : base(unexpect, std::move(e.error())),
1648
14.4k
          ctor_base(detail::non_default_ctor_tag_t{})
1649
14.4k
    {
1650
14.4k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEJyEEENS0_10scan_errorEEC2ISH_TnPNS7_9enable_ifIXsr3stdE18is_constructible_vISH_OT_EEvE4typeELPv0ETnPNSK_IXsr3stdE16is_convertible_vISM_SH_EEvE4typeELSQ_0EEEONS0_10unexpectedISL_EE
Line
Count
Source
1647
14.4k
        : base(unexpect, std::move(e.error())),
1648
14.4k
          ctor_base(detail::non_default_ctor_tag_t{})
1649
14.4k
    {
1650
14.4k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJaEEENS0_10scan_errorEEC2ISB_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SB_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE
Line
Count
Source
1647
28.8k
        : base(unexpect, std::move(e.error())),
1648
28.8k
          ctor_base(detail::non_default_ctor_tag_t{})
1649
28.8k
    {
1650
28.8k
    }
_ZN3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeIPKwS7_EENS0_10scan_errorEEC2IS9_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS9_OT_EEvE4typeELPv0ETnPNSD_IXsr3stdE16is_convertible_vISF_S9_EEvE4typeELSJ_0EEEONS0_10unexpectedISE_EE
Line
Count
Source
1647
173k
        : base(unexpect, std::move(e.error())),
1648
173k
          ctor_base(detail::non_default_ctor_tag_t{})
1649
173k
    {
1650
173k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJhEEENS0_10scan_errorEEC2ISB_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SB_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE
Line
Count
Source
1647
28.8k
        : base(unexpect, std::move(e.error())),
1648
28.8k
          ctor_base(detail::non_default_ctor_tag_t{})
1649
28.8k
    {
1650
28.8k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJiEEENS0_10scan_errorEEC2ISB_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SB_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE
Line
Count
Source
1647
28.8k
        : base(unexpect, std::move(e.error())),
1648
28.8k
          ctor_base(detail::non_default_ctor_tag_t{})
1649
28.8k
    {
1650
28.8k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJjEEENS0_10scan_errorEEC2ISB_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SB_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE
Line
Count
Source
1647
28.8k
        : base(unexpect, std::move(e.error())),
1648
28.8k
          ctor_base(detail::non_default_ctor_tag_t{})
1649
28.8k
    {
1650
28.8k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJxEEENS0_10scan_errorEEC2ISB_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SB_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE
Line
Count
Source
1647
28.8k
        : base(unexpect, std::move(e.error())),
1648
28.8k
          ctor_base(detail::non_default_ctor_tag_t{})
1649
28.8k
    {
1650
28.8k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJyEEENS0_10scan_errorEEC2ISB_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SB_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE
Line
Count
Source
1647
28.8k
        : base(unexpect, std::move(e.error())),
1648
28.8k
          ctor_base(detail::non_default_ctor_tag_t{})
1649
28.8k
    {
1650
28.8k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEJaEEENS0_10scan_errorEEC2ISH_TnPNS7_9enable_ifIXsr3stdE18is_constructible_vISH_OT_EEvE4typeELPv0ETnPNSK_IXsr3stdE16is_convertible_vISM_SH_EEvE4typeELSQ_0EEEONS0_10unexpectedISL_EE
Line
Count
Source
1647
28.8k
        : base(unexpect, std::move(e.error())),
1648
28.8k
          ctor_base(detail::non_default_ctor_tag_t{})
1649
28.8k
    {
1650
28.8k
    }
_ZN3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS8_PKS9_lLl1024EEESD_EENS0_10scan_errorEEC2ISF_TnPNS6_9enable_ifIXsr3stdE18is_constructible_vISF_OT_EEvE4typeELPv0ETnPNSI_IXsr3stdE16is_convertible_vISK_SF_EEvE4typeELSO_0EEEONS0_10unexpectedISJ_EE
Line
Count
Source
1647
173k
        : base(unexpect, std::move(e.error())),
1648
173k
          ctor_base(detail::non_default_ctor_tag_t{})
1649
173k
    {
1650
173k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEJhEEENS0_10scan_errorEEC2ISH_TnPNS7_9enable_ifIXsr3stdE18is_constructible_vISH_OT_EEvE4typeELPv0ETnPNSK_IXsr3stdE16is_convertible_vISM_SH_EEvE4typeELSQ_0EEEONS0_10unexpectedISL_EE
Line
Count
Source
1647
28.8k
        : base(unexpect, std::move(e.error())),
1648
28.8k
          ctor_base(detail::non_default_ctor_tag_t{})
1649
28.8k
    {
1650
28.8k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEJiEEENS0_10scan_errorEEC2ISH_TnPNS7_9enable_ifIXsr3stdE18is_constructible_vISH_OT_EEvE4typeELPv0ETnPNSK_IXsr3stdE16is_convertible_vISM_SH_EEvE4typeELSQ_0EEEONS0_10unexpectedISL_EE
Line
Count
Source
1647
28.8k
        : base(unexpect, std::move(e.error())),
1648
28.8k
          ctor_base(detail::non_default_ctor_tag_t{})
1649
28.8k
    {
1650
28.8k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEJjEEENS0_10scan_errorEEC2ISH_TnPNS7_9enable_ifIXsr3stdE18is_constructible_vISH_OT_EEvE4typeELPv0ETnPNSK_IXsr3stdE16is_convertible_vISM_SH_EEvE4typeELSQ_0EEEONS0_10unexpectedISL_EE
Line
Count
Source
1647
28.8k
        : base(unexpect, std::move(e.error())),
1648
28.8k
          ctor_base(detail::non_default_ctor_tag_t{})
1649
28.8k
    {
1650
28.8k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEJxEEENS0_10scan_errorEEC2ISH_TnPNS7_9enable_ifIXsr3stdE18is_constructible_vISH_OT_EEvE4typeELPv0ETnPNSK_IXsr3stdE16is_convertible_vISM_SH_EEvE4typeELSQ_0EEEONS0_10unexpectedISL_EE
Line
Count
Source
1647
28.8k
        : base(unexpect, std::move(e.error())),
1648
28.8k
          ctor_base(detail::non_default_ctor_tag_t{})
1649
28.8k
    {
1650
28.8k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEJyEEENS0_10scan_errorEEC2ISH_TnPNS7_9enable_ifIXsr3stdE18is_constructible_vISH_OT_EEvE4typeELPv0ETnPNSK_IXsr3stdE16is_convertible_vISM_SH_EEvE4typeELSQ_0EEEONS0_10unexpectedISL_EE
Line
Count
Source
1647
28.8k
        : base(unexpect, std::move(e.error())),
1648
28.8k
          ctor_base(detail::non_default_ctor_tag_t{})
1649
28.8k
    {
1650
28.8k
    }
_ZN3scn2v48expectedIlNS0_10scan_errorEEC2IS2_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS2_OT_EEvE4typeELPv0ETnPNS6_IXsr3stdE16is_convertible_vIS8_S2_EEvE4typeELSC_0EEEONS0_10unexpectedIS7_EE
Line
Count
Source
1647
520k
        : base(unexpect, std::move(e.error())),
1648
520k
          ctor_base(detail::non_default_ctor_tag_t{})
1649
520k
    {
1650
520k
    }
_ZN3scn2v48expectedIPKcNS0_10scan_errorEEC2IS4_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS4_OT_EEvE4typeELPv0ETnPNS8_IXsr3stdE16is_convertible_vISA_S4_EEvE4typeELSE_0EEEONS0_10unexpectedIS9_EE
Line
Count
Source
1647
159k
        : base(unexpect, std::move(e.error())),
1648
159k
          ctor_base(detail::non_default_ctor_tag_t{})
1649
159k
    {
1650
159k
    }
_ZN3scn2v48expectedIPKwNS0_10scan_errorEEC2IS4_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS4_OT_EEvE4typeELPv0ETnPNS8_IXsr3stdE16is_convertible_vISA_S4_EEvE4typeELSE_0EEEONS0_10unexpectedIS9_EE
Line
Count
Source
1647
328k
        : base(unexpect, std::move(e.error())),
1648
328k
          ctor_base(detail::non_default_ctor_tag_t{})
1649
328k
    {
1650
328k
    }
_ZN3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_10scan_errorEEC2IS6_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS6_OT_EEvE4typeELPv0ETnPNSA_IXsr3stdE16is_convertible_vISC_S6_EEvE4typeELSG_0EEEONS0_10unexpectedISB_EE
Line
Count
Source
1647
101k
        : base(unexpect, std::move(e.error())),
1648
101k
          ctor_base(detail::non_default_ctor_tag_t{})
1649
101k
    {
1650
101k
    }
_ZN3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_10scan_errorEEC2IS6_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS6_OT_EEvE4typeELPv0ETnPNSA_IXsr3stdE16is_convertible_vISC_S6_EEvE4typeELSG_0EEEONS0_10unexpectedISB_EE
Line
Count
Source
1647
221k
        : base(unexpect, std::move(e.error())),
1648
221k
          ctor_base(detail::non_default_ctor_tag_t{})
1649
221k
    {
1650
221k
    }
_ZN3scn2v48expectedIvNS0_10scan_errorEEC2IS2_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS2_OT_EEvE4typeELPv0ETnPNS6_IXsr3stdE16is_convertible_vIS8_S2_EEvE4typeELSC_0EEEONS0_10unexpectedIS7_EE
Line
Count
Source
1647
777k
        : base(unexpect, std::move(e.error())),
1648
777k
          ctor_base(detail::non_default_ctor_tag_t{})
1649
777k
    {
1650
777k
    }
_ZN3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEEC2IS7_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS7_OT_EEvE4typeELPv0ETnPNSB_IXsr3stdE16is_convertible_vISD_S7_EEvE4typeELSH_0EEEONS0_10unexpectedISC_EE
Line
Count
Source
1647
23.8k
        : base(unexpect, std::move(e.error())),
1648
23.8k
          ctor_base(detail::non_default_ctor_tag_t{})
1649
23.8k
    {
1650
23.8k
    }
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEEC2ISC_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSG_IXsr3stdE16is_convertible_vISI_SC_EEvE4typeELSM_0EEEONS0_10unexpectedISH_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEEC2ISL_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISL_OT_EEvE4typeELPv0ETnPNSP_IXsr3stdE16is_convertible_vISR_SL_EEvE4typeELSV_0EEEONS0_10unexpectedISQ_EE
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEElEENS0_10scan_errorEEC2ISF_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISF_OT_EEvE4typeELPv0ETnPNSI_IXsr3stdE16is_convertible_vISK_SF_EEvE4typeELSO_0EEEONS0_10unexpectedISJ_EE
_ZN3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIcE16forward_iteratorElEENS0_10scan_errorEEC2IS9_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vIS9_OT_EEvE4typeELPv0ETnPNSC_IXsr3stdE16is_convertible_vISE_S9_EEvE4typeELSI_0EEEONS0_10unexpectedISD_EE
Line
Count
Source
1647
9.70k
        : base(unexpect, std::move(e.error())),
1648
9.70k
          ctor_base(detail::non_default_ctor_tag_t{})
1649
9.70k
    {
1650
9.70k
    }
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS0_10scan_errorEEC2ISC_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSG_IXsr3stdE16is_convertible_vISI_SC_EEvE4typeELSM_0EEEONS0_10unexpectedISH_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEEC2ISC_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSG_IXsr3stdE16is_convertible_vISI_SC_EEvE4typeELSM_0EEEONS0_10unexpectedISH_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEEC2INSC_4codeETnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSH_IXsr3stdE16is_convertible_vISJ_SC_EEvE4typeELSN_0EEEONS0_10unexpectedISI_EE
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEEC2ISG_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISG_OT_EEvE4typeELPv0ETnPNSJ_IXsr3stdE16is_convertible_vISL_SG_EEvE4typeELSP_0EEEONS0_10unexpectedISK_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEEC2ISE_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISE_OT_EEvE4typeELPv0ETnPNSI_IXsr3stdE16is_convertible_vISK_SE_EEvE4typeELSO_0EEEONS0_10unexpectedISJ_EE
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__15tupleIJNS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESJ_EEENS0_10scan_errorEEC2ISL_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISL_OT_EEvE4typeELPv0ETnPNSO_IXsr3stdE16is_convertible_vISQ_SL_EEvE4typeELSU_0EEEONS0_10unexpectedISP_EE
_ZN3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEEC2IS7_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS7_OT_EEvE4typeELPv0ETnPNSB_IXsr3stdE16is_convertible_vISD_S7_EEvE4typeELSH_0EEEONS0_10unexpectedISC_EE
Line
Count
Source
1647
11.8k
        : base(unexpect, std::move(e.error())),
1648
11.8k
          ctor_base(detail::non_default_ctor_tag_t{})
1649
11.8k
    {
1650
11.8k
    }
_ZN3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEEC2INS7_4codeETnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS7_OT_EEvE4typeELPv0ETnPNSC_IXsr3stdE16is_convertible_vISE_S7_EEvE4typeELSI_0EEEONS0_10unexpectedISD_EE
Line
Count
Source
1647
840k
        : base(unexpect, std::move(e.error())),
1648
840k
          ctor_base(detail::non_default_ctor_tag_t{})
1649
840k
    {
1650
840k
    }
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEEC2ISB_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSE_IXsr3stdE16is_convertible_vISG_SB_EEvE4typeELSK_0EEEONS0_10unexpectedISF_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEENS2_9eof_errorEEC2IS9_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS9_OT_EEvE4typeELPv0ETnPNSD_IXsr3stdE16is_convertible_vISF_S9_EEvE4typeELSJ_0EEEONS0_10unexpectedISE_EE
_ZN3scn2v48expectedINSt3__15tupleIJNS0_6detail17basic_scan_bufferIcE16forward_iteratorENS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESD_EEENS0_10scan_errorEEC2ISF_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISF_OT_EEvE4typeELPv0ETnPNSI_IXsr3stdE16is_convertible_vISK_SF_EEvE4typeELSO_0EEEONS0_10unexpectedISJ_EE
Line
Count
Source
1647
3.25k
        : base(unexpect, std::move(e.error())),
1648
3.25k
          ctor_base(detail::non_default_ctor_tag_t{})
1649
3.25k
    {
1650
3.25k
    }
_ZN3scn2v48expectedIPKcNS0_4impl9eof_errorEEC2IS5_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS5_OT_EEvE4typeELPv0ETnPNS9_IXsr3stdE16is_convertible_vISB_S5_EEvE4typeELSF_0EEEONS0_10unexpectedISA_EE
Line
Count
Source
1647
11.5k
        : base(unexpect, std::move(e.error())),
1648
11.5k
          ctor_base(detail::non_default_ctor_tag_t{})
1649
11.5k
    {
1650
11.5k
    }
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_9eof_errorEEC2IS8_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS8_OT_EEvE4typeELPv0ETnPNSC_IXsr3stdE16is_convertible_vISE_S8_EEvE4typeELSI_0EEEONS0_10unexpectedISD_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEE8sentinelILb1EEEEENS2_9eof_errorEEC2ISI_TnPNS9_9enable_ifIXsr3stdE18is_constructible_vISI_OT_EEvE4typeELPv0ETnPNSL_IXsr3stdE16is_convertible_vISN_SI_EEvE4typeELSR_0EEEONS0_10unexpectedISM_EE
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EElEENS0_10scan_errorEEC2ISB_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSE_IXsr3stdE16is_convertible_vISG_SB_EEvE4typeELSK_0EEEONS0_10unexpectedISF_EE
_ZN3scn2v48expectedINSt3__14pairIPKclEENS0_10scan_errorEEC2IS7_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vIS7_OT_EEvE4typeELPv0ETnPNSA_IXsr3stdE16is_convertible_vISC_S7_EEvE4typeELSG_0EEEONS0_10unexpectedISB_EE
Line
Count
Source
1647
8.74k
        : base(unexpect, std::move(e.error())),
1648
8.74k
          ctor_base(detail::non_default_ctor_tag_t{})
1649
8.74k
    {
1650
8.74k
    }
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS0_10scan_errorEEC2IS8_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS8_OT_EEvE4typeELPv0ETnPNSC_IXsr3stdE16is_convertible_vISE_S8_EEvE4typeELSI_0EEEONS0_10unexpectedISD_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_11parse_errorEEC2IS8_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS8_OT_EEvE4typeELPv0ETnPNSC_IXsr3stdE16is_convertible_vISE_S8_EEvE4typeELSI_0EEEONS0_10unexpectedISD_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_11parse_errorEEC2INS8_4codeETnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS8_OT_EEvE4typeELPv0ETnPNSD_IXsr3stdE16is_convertible_vISF_S8_EEvE4typeELSJ_0EEEONS0_10unexpectedISE_EE
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9sign_typeEEENS4_9eof_errorEEC2ISC_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SC_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEENS2_9eof_errorEEC2ISA_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISA_OT_EEvE4typeELPv0ETnPNSE_IXsr3stdE16is_convertible_vISG_SA_EEvE4typeELSK_0EEEONS0_10unexpectedISF_EE
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__15tupleIJNS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESF_EEENS0_10scan_errorEEC2ISH_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISH_OT_EEvE4typeELPv0ETnPNSK_IXsr3stdE16is_convertible_vISM_SH_EEvE4typeELSQ_0EEEONS0_10unexpectedISL_EE
_ZN3scn2v48expectedIPKcNS0_4impl11parse_errorEEC2IS5_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS5_OT_EEvE4typeELPv0ETnPNS9_IXsr3stdE16is_convertible_vISB_S5_EEvE4typeELSF_0EEEONS0_10unexpectedISA_EE
Line
Count
Source
1647
12.0k
        : base(unexpect, std::move(e.error())),
1648
12.0k
          ctor_base(detail::non_default_ctor_tag_t{})
1649
12.0k
    {
1650
12.0k
    }
_ZN3scn2v48expectedIPKcNS0_4impl11parse_errorEEC2INS5_4codeETnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS5_OT_EEvE4typeELPv0ETnPNSA_IXsr3stdE16is_convertible_vISC_S5_EEvE4typeELSG_0EEEONS0_10unexpectedISB_EE
Line
Count
Source
1647
814k
        : base(unexpect, std::move(e.error())),
1648
814k
          ctor_base(detail::non_default_ctor_tag_t{})
1649
814k
    {
1650
814k
    }
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__14pairIPKcNS0_4impl9sign_typeEEENS6_9eof_errorEEC2IS9_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vIS9_OT_EEvE4typeELPv0ETnPNSC_IXsr3stdE16is_convertible_vISE_S9_EEvE4typeELSI_0EEEONS0_10unexpectedISD_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKcEENS2_9eof_errorEEC2IS7_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS7_OT_EEvE4typeELPv0ETnPNSB_IXsr3stdE16is_convertible_vISD_S7_EEvE4typeELSH_0EEEONS0_10unexpectedISC_EE
_ZN3scn2v48expectedINSt3__15tupleIJPKcNS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESB_EEENS0_10scan_errorEEC2ISD_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISD_OT_EEvE4typeELPv0ETnPNSG_IXsr3stdE16is_convertible_vISI_SD_EEvE4typeELSM_0EEEONS0_10unexpectedISH_EE
Line
Count
Source
1647
3.49k
        : base(unexpect, std::move(e.error())),
1648
3.49k
          ctor_base(detail::non_default_ctor_tag_t{})
1649
3.49k
    {
1650
3.49k
    }
_ZN3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEEC2IS7_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS7_OT_EEvE4typeELPv0ETnPNSB_IXsr3stdE16is_convertible_vISD_S7_EEvE4typeELSH_0EEEONS0_10unexpectedISC_EE
Line
Count
Source
1647
20.6k
        : base(unexpect, std::move(e.error())),
1648
20.6k
          ctor_base(detail::non_default_ctor_tag_t{})
1649
20.6k
    {
1650
20.6k
    }
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEEC2ISC_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSG_IXsr3stdE16is_convertible_vISI_SC_EEvE4typeELSM_0EEEONS0_10unexpectedISH_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEEC2ISL_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISL_OT_EEvE4typeELPv0ETnPNSP_IXsr3stdE16is_convertible_vISR_SL_EEvE4typeELSV_0EEEONS0_10unexpectedISQ_EE
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEElEENS0_10scan_errorEEC2ISF_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISF_OT_EEvE4typeELPv0ETnPNSI_IXsr3stdE16is_convertible_vISK_SF_EEvE4typeELSO_0EEEONS0_10unexpectedISJ_EE
_ZN3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIwE16forward_iteratorElEENS0_10scan_errorEEC2IS9_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vIS9_OT_EEvE4typeELPv0ETnPNSC_IXsr3stdE16is_convertible_vISE_S9_EEvE4typeELSI_0EEEONS0_10unexpectedISD_EE
Line
Count
Source
1647
1.41k
        : base(unexpect, std::move(e.error())),
1648
1.41k
          ctor_base(detail::non_default_ctor_tag_t{})
1649
1.41k
    {
1650
1.41k
    }
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS0_10scan_errorEEC2ISC_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSG_IXsr3stdE16is_convertible_vISI_SC_EEvE4typeELSM_0EEEONS0_10unexpectedISH_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEEC2ISC_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSG_IXsr3stdE16is_convertible_vISI_SC_EEvE4typeELSM_0EEEONS0_10unexpectedISH_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEEC2INSC_4codeETnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSH_IXsr3stdE16is_convertible_vISJ_SC_EEvE4typeELSN_0EEEONS0_10unexpectedISI_EE
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEEC2ISG_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISG_OT_EEvE4typeELPv0ETnPNSJ_IXsr3stdE16is_convertible_vISL_SG_EEvE4typeELSP_0EEEONS0_10unexpectedISK_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEEC2ISE_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISE_OT_EEvE4typeELPv0ETnPNSI_IXsr3stdE16is_convertible_vISK_SE_EEvE4typeELSO_0EEEONS0_10unexpectedISJ_EE
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__15tupleIJNS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENSE_IcNSF_IcEENSH_IcEEEEEEENS0_10scan_errorEEC2ISO_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISO_OT_EEvE4typeELPv0ETnPNSR_IXsr3stdE16is_convertible_vIST_SO_EEvE4typeELSX_0EEEONS0_10unexpectedISS_EE
_ZN3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEEC2IS7_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS7_OT_EEvE4typeELPv0ETnPNSB_IXsr3stdE16is_convertible_vISD_S7_EEvE4typeELSH_0EEEONS0_10unexpectedISC_EE
Line
Count
Source
1647
18.9k
        : base(unexpect, std::move(e.error())),
1648
18.9k
          ctor_base(detail::non_default_ctor_tag_t{})
1649
18.9k
    {
1650
18.9k
    }
_ZN3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEEC2INS7_4codeETnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS7_OT_EEvE4typeELPv0ETnPNSC_IXsr3stdE16is_convertible_vISE_S7_EEvE4typeELSI_0EEEONS0_10unexpectedISD_EE
Line
Count
Source
1647
375k
        : base(unexpect, std::move(e.error())),
1648
375k
          ctor_base(detail::non_default_ctor_tag_t{})
1649
375k
    {
1650
375k
    }
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEEC2ISB_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSE_IXsr3stdE16is_convertible_vISG_SB_EEvE4typeELSK_0EEEONS0_10unexpectedISF_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEENS2_9eof_errorEEC2IS9_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS9_OT_EEvE4typeELPv0ETnPNSD_IXsr3stdE16is_convertible_vISF_S9_EEvE4typeELSJ_0EEEONS0_10unexpectedISE_EE
_ZN3scn2v48expectedINSt3__15tupleIJNS0_6detail17basic_scan_bufferIwE16forward_iteratorENS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENS8_IcNS9_IcEENSB_IcEEEEEEENS0_10scan_errorEEC2ISI_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISI_OT_EEvE4typeELPv0ETnPNSL_IXsr3stdE16is_convertible_vISN_SI_EEvE4typeELSR_0EEEONS0_10unexpectedISM_EE
Line
Count
Source
1647
16.0k
        : base(unexpect, std::move(e.error())),
1648
16.0k
          ctor_base(detail::non_default_ctor_tag_t{})
1649
16.0k
    {
1650
16.0k
    }
_ZN3scn2v48expectedIPKwNS0_4impl9eof_errorEEC2IS5_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS5_OT_EEvE4typeELPv0ETnPNS9_IXsr3stdE16is_convertible_vISB_S5_EEvE4typeELSF_0EEEONS0_10unexpectedISA_EE
Line
Count
Source
1647
20.6k
        : base(unexpect, std::move(e.error())),
1648
20.6k
          ctor_base(detail::non_default_ctor_tag_t{})
1649
20.6k
    {
1650
20.6k
    }
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_9eof_errorEEC2IS8_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS8_OT_EEvE4typeELPv0ETnPNSC_IXsr3stdE16is_convertible_vISE_S8_EEvE4typeELSI_0EEEONS0_10unexpectedISD_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEE8sentinelILb1EEEEENS2_9eof_errorEEC2ISI_TnPNS9_9enable_ifIXsr3stdE18is_constructible_vISI_OT_EEvE4typeELPv0ETnPNSL_IXsr3stdE16is_convertible_vISN_SI_EEvE4typeELSR_0EEEONS0_10unexpectedISM_EE
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EElEENS0_10scan_errorEEC2ISB_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSE_IXsr3stdE16is_convertible_vISG_SB_EEvE4typeELSK_0EEEONS0_10unexpectedISF_EE
_ZN3scn2v48expectedINSt3__14pairIPKwlEENS0_10scan_errorEEC2IS7_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vIS7_OT_EEvE4typeELPv0ETnPNSA_IXsr3stdE16is_convertible_vISC_S7_EEvE4typeELSG_0EEEONS0_10unexpectedISB_EE
Line
Count
Source
1647
1.41k
        : base(unexpect, std::move(e.error())),
1648
1.41k
          ctor_base(detail::non_default_ctor_tag_t{})
1649
1.41k
    {
1650
1.41k
    }
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS0_10scan_errorEEC2IS8_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS8_OT_EEvE4typeELPv0ETnPNSC_IXsr3stdE16is_convertible_vISE_S8_EEvE4typeELSI_0EEEONS0_10unexpectedISD_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_11parse_errorEEC2IS8_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS8_OT_EEvE4typeELPv0ETnPNSC_IXsr3stdE16is_convertible_vISE_S8_EEvE4typeELSI_0EEEONS0_10unexpectedISD_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_11parse_errorEEC2INS8_4codeETnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS8_OT_EEvE4typeELPv0ETnPNSD_IXsr3stdE16is_convertible_vISF_S8_EEvE4typeELSJ_0EEEONS0_10unexpectedISE_EE
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9sign_typeEEENS4_9eof_errorEEC2ISC_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SC_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEENS2_9eof_errorEEC2ISA_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISA_OT_EEvE4typeELPv0ETnPNSE_IXsr3stdE16is_convertible_vISG_SA_EEvE4typeELSK_0EEEONS0_10unexpectedISF_EE
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__15tupleIJNS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENSA_IcNSB_IcEENSD_IcEEEEEEENS0_10scan_errorEEC2ISK_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISK_OT_EEvE4typeELPv0ETnPNSN_IXsr3stdE16is_convertible_vISP_SK_EEvE4typeELST_0EEEONS0_10unexpectedISO_EE
_ZN3scn2v48expectedIPKwNS0_4impl11parse_errorEEC2IS5_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS5_OT_EEvE4typeELPv0ETnPNS9_IXsr3stdE16is_convertible_vISB_S5_EEvE4typeELSF_0EEEONS0_10unexpectedISA_EE
Line
Count
Source
1647
18.9k
        : base(unexpect, std::move(e.error())),
1648
18.9k
          ctor_base(detail::non_default_ctor_tag_t{})
1649
18.9k
    {
1650
18.9k
    }
_ZN3scn2v48expectedIPKwNS0_4impl11parse_errorEEC2INS5_4codeETnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS5_OT_EEvE4typeELPv0ETnPNSA_IXsr3stdE16is_convertible_vISC_S5_EEvE4typeELSG_0EEEONS0_10unexpectedISB_EE
Line
Count
Source
1647
270k
        : base(unexpect, std::move(e.error())),
1648
270k
          ctor_base(detail::non_default_ctor_tag_t{})
1649
270k
    {
1650
270k
    }
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__14pairIPKwNS0_4impl9sign_typeEEENS6_9eof_errorEEC2IS9_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vIS9_OT_EEvE4typeELPv0ETnPNSC_IXsr3stdE16is_convertible_vISE_S9_EEvE4typeELSI_0EEEONS0_10unexpectedISD_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKwEENS2_9eof_errorEEC2IS7_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS7_OT_EEvE4typeELPv0ETnPNSB_IXsr3stdE16is_convertible_vISD_S7_EEvE4typeELSH_0EEEONS0_10unexpectedISC_EE
_ZN3scn2v48expectedINSt3__15tupleIJPKwNS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENS6_IcNS7_IcEENS9_IcEEEEEEENS0_10scan_errorEEC2ISG_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISG_OT_EEvE4typeELPv0ETnPNSJ_IXsr3stdE16is_convertible_vISL_SG_EEvE4typeELSP_0EEEONS0_10unexpectedISK_EE
Line
Count
Source
1647
16.0k
        : base(unexpect, std::move(e.error())),
1648
16.0k
          ctor_base(detail::non_default_ctor_tag_t{})
1649
16.0k
    {
1650
16.0k
    }
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEEC2ISI_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISI_OT_EEvE4typeELPv0ETnPNSM_IXsr3stdE16is_convertible_vISO_SI_EEvE4typeELSS_0EEEONS0_10unexpectedISN_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEEC2ISI_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISI_OT_EEvE4typeELPv0ETnPNSM_IXsr3stdE16is_convertible_vISO_SI_EEvE4typeELSS_0EEEONS0_10unexpectedISN_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEJNSt3__112basic_stringIcNSD_11char_traitsIcEENSD_9allocatorIcEEEEEEENS0_10scan_errorEEC2ISL_TnPNSD_9enable_ifIXsr3stdE18is_constructible_vISL_OT_EEvE4typeELPv0ETnPNSO_IXsr3stdE16is_convertible_vISQ_SL_EEvE4typeELSU_0EEEONS0_10unexpectedISP_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS2_18default_sentinel_tEEENS0_10scan_errorEEC2ISC_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSG_IXsr3stdE16is_convertible_vISI_SC_EEvE4typeELSM_0EEEONS0_10unexpectedISH_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__111__wrap_iterIPcEESA_EEJdEEENS0_10scan_errorEEC2ISD_TnPNS7_9enable_ifIXsr3stdE18is_constructible_vISD_OT_EEvE4typeELPv0ETnPNSG_IXsr3stdE16is_convertible_vISI_SD_EEvE4typeELSM_0EEEONS0_10unexpectedISH_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeINSt3__111__wrap_iterIPcEES9_EENS0_10scan_errorEEC2ISB_TnPNS6_9enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSE_IXsr3stdE16is_convertible_vISG_SB_EEvE4typeELSK_0EEEONS0_10unexpectedISF_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJNSt3__112basic_stringIcNSA_11char_traitsIcEENSA_9allocatorIcEEEEEEENS0_10scan_errorEEC2ISI_TnPNSA_9enable_ifIXsr3stdE18is_constructible_vISI_OT_EEvE4typeELPv0ETnPNSL_IXsr3stdE16is_convertible_vISN_SI_EEvE4typeELSR_0EEEONS0_10unexpectedISM_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEJNSt3__112basic_stringIcNSD_11char_traitsIcEENSD_9allocatorIcEEEEEEENS0_10scan_errorEEC2ISL_TnPNSD_9enable_ifIXsr3stdE18is_constructible_vISL_OT_EEvE4typeELPv0ETnPNSO_IXsr3stdE16is_convertible_vISQ_SL_EEvE4typeELSU_0EEEONS0_10unexpectedISP_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS2_18default_sentinel_tEEENS0_10scan_errorEEC2ISC_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSG_IXsr3stdE16is_convertible_vISI_SC_EEvE4typeELSM_0EEEONS0_10unexpectedISH_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJNSt3__112basic_stringIcNSA_11char_traitsIcEENSA_9allocatorIcEEEEEEENS0_10scan_errorEEC2ISI_TnPNSA_9enable_ifIXsr3stdE18is_constructible_vISI_OT_EEvE4typeELPv0ETnPNSL_IXsr3stdE16is_convertible_vISN_SI_EEvE4typeELSR_0EEEONS0_10unexpectedISM_EE
1651
1652
    /// Construct an unexpected value directly in-place
1653
    template <typename... Args,
1654
              typename = std::enable_if_t<std::is_constructible_v<E, Args...>>>
1655
    explicit constexpr expected(unexpect_t, Args&&... args) noexcept(
1656
        std::is_nothrow_constructible_v<base, unexpect_t, Args&&...>)
1657
208k
        : base(unexpect, std::forward<Args>(args)...),
1658
208k
          ctor_base(detail::non_default_ctor_tag_t{})
1659
208k
    {
1660
208k
    }
scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
1657
40.2k
        : base(unexpect, std::forward<Args>(args)...),
1658
40.2k
          ctor_base(detail::non_default_ctor_tag_t{})
1659
40.2k
    {
1660
40.2k
    }
scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
1657
106k
        : base(unexpect, std::forward<Args>(args)...),
1658
106k
          ctor_base(detail::non_default_ctor_tag_t{})
1659
106k
    {
1660
106k
    }
scn::v4::expected<char const*, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
1657
11.1k
        : base(unexpect, std::forward<Args>(args)...),
1658
11.1k
          ctor_base(detail::non_default_ctor_tag_t{})
1659
11.1k
    {
1660
11.1k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error>::expected<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error>::expected<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Line
Count
Source
1657
11.4k
        : base(unexpect, std::forward<Args>(args)...),
1658
11.4k
          ctor_base(detail::non_default_ctor_tag_t{})
1659
11.4k
    {
1660
11.4k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error>::expected<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error>::expected<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error>::expected<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Line
Count
Source
1657
18.8k
        : base(unexpect, std::forward<Args>(args)...),
1658
18.8k
          ctor_base(detail::non_default_ctor_tag_t{})
1659
18.8k
    {
1660
18.8k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
scn::v4::expected<wchar_t const*, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
1657
1.74k
        : base(unexpect, std::forward<Args>(args)...),
1658
1.74k
          ctor_base(detail::non_default_ctor_tag_t{})
1659
1.74k
    {
1660
1.74k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error>::expected<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
scn::v4::expected<wchar_t const*, scn::v4::impl::parse_error>::expected<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Line
Count
Source
1657
18.8k
        : base(unexpect, std::forward<Args>(args)...),
1658
18.8k
          ctor_base(detail::non_default_ctor_tag_t{})
1659
18.8k
    {
1660
18.8k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<char const*, scn::v4::impl::parse_error>::expected<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
1661
1662
    template <
1663
        typename U,
1664
        typename G,
1665
        std::enable_if_t<!(std::is_convertible_v<const U&, T> &&
1666
                           std::is_convertible_v<const G&, E>)>* = nullptr,
1667
        detail::enable_from_other<T, E, U, G, const U&, const G&>* = nullptr>
1668
    explicit constexpr expected(const expected<U, G>& other) noexcept(
1669
        std::is_nothrow_constructible_v<T, const U&> &&
1670
        std::is_nothrow_constructible_v<E, const G&>)
1671
        : base(), ctor_base(detail::non_default_ctor_tag_t{})
1672
    {
1673
        if (other.has_value()) {
1674
            this->construct(*other);
1675
        }
1676
        else {
1677
            this->construct_unexpected(other.error());
1678
        }
1679
    }
1680
    template <
1681
        typename U,
1682
        typename G,
1683
        std::enable_if_t<(std::is_convertible_v<const U&, T> &&
1684
                          std::is_convertible_v<const G&, E>)>* = nullptr,
1685
        detail::enable_from_other<T, E, U, G, const U&, const G&>* = nullptr>
1686
    constexpr expected(const expected<U, G>& other) noexcept(
1687
        std::is_nothrow_constructible_v<T, const U&> &&
1688
        std::is_nothrow_constructible_v<E, const G&>)
1689
        : base(), ctor_base(detail::non_default_ctor_tag_t{})
1690
    {
1691
        if (other.has_value()) {
1692
            this->construct(*other);
1693
        }
1694
        else {
1695
            this->construct_unexpected(other.error());
1696
        }
1697
    }
1698
1699
    template <typename U,
1700
              typename G,
1701
              std::enable_if_t<!(std::is_convertible_v<U&&, T> &&
1702
                                 std::is_convertible_v<G&&, E>)>* = nullptr,
1703
              detail::enable_from_other<T, E, U, G, U&&, G&&>* = nullptr>
1704
    explicit constexpr expected(expected<U, G>&& other) noexcept(
1705
        std::is_nothrow_constructible_v<T, U&&> &&
1706
        std::is_nothrow_constructible_v<E, G&&>)
1707
        : base(), ctor_base(detail::non_default_ctor_tag_t{})
1708
    {
1709
        if (other.has_value()) {
1710
            this->construct(std::move(*other));
1711
        }
1712
        else {
1713
            this->construct_unexpected(std::move(other.error()));
1714
        }
1715
    }
1716
    template <typename U,
1717
              typename G,
1718
              std::enable_if_t<(std::is_convertible_v<U&&, T> &&
1719
                                std::is_convertible_v<G&&, E>)>* = nullptr,
1720
              detail::enable_from_other<T, E, U, G, U&&, G&&>* = nullptr>
1721
    constexpr expected(expected<U, G>&& other) noexcept(
1722
        std::is_nothrow_constructible_v<T, U&&> &&
1723
        std::is_nothrow_constructible_v<E, G&&>)
1724
        : base(), ctor_base(detail::non_default_ctor_tag_t{})
1725
    {
1726
        if (other.has_value()) {
1727
            this->construct(std::move(*other));
1728
        }
1729
        else {
1730
            this->construct_unexpected(std::move(other.error()));
1731
        }
1732
    }
1733
1734
    template <typename U = value_type,
1735
              typename = std::enable_if_t<std::is_convertible_v<U, value_type>>>
1736
    expected& operator=(U&& val) noexcept(
1737
        noexcept(assign_value(std::forward<U>(val))))
1738
    {
1739
        assign_value(std::forward<U>(val));
1740
        return *this;
1741
    }
1742
1743
    expected& operator=(const unexpected_type& unex) noexcept(
1744
        noexcept(assign_unexpected(unex)))
1745
    {
1746
        assign_unexpected(unex);
1747
        return *this;
1748
    }
1749
    expected& operator=(unexpected_type&& unex) noexcept(
1750
        noexcept(assign_unexpected(std::move(unex))))
1751
    {
1752
        assign_unexpected(std::move(unex));
1753
        return *this;
1754
    }
1755
1756
    /// Destroys the contained value, and then initializes the expected
1757
    /// value directly in-place.
1758
    template <typename... Args,
1759
              std::enable_if_t<std::is_constructible_v<T, Args...>>* = nullptr>
1760
    decltype(auto) emplace(Args&&... args) noexcept(
1761
        std::is_nothrow_constructible_v<T, Args...>)
1762
    {
1763
        emplace_impl(std::forward<Args>(args)...);
1764
        if constexpr (!std::is_void_v<T>) {
1765
            return this->get_value();
1766
        }
1767
    }
1768
1769
    using base::has_value;
1770
    constexpr explicit operator bool() const noexcept
1771
22.9M
    {
1772
22.9M
        return has_value();
1773
22.9M
    }
scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1771
450k
    {
1772
450k
        return has_value();
1773
450k
    }
scn::v4::expected<long, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1771
1.87M
    {
1772
1.87M
        return has_value();
1773
1.87M
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1771
73.2k
    {
1772
73.2k
        return has_value();
1773
73.2k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1771
64.2k
    {
1772
64.2k
        return has_value();
1773
64.2k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1771
85.6k
    {
1772
85.6k
        return has_value();
1773
85.6k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1771
69.6k
    {
1772
69.6k
        return has_value();
1773
69.6k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1771
87.1k
    {
1772
87.1k
        return has_value();
1773
87.1k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1771
70.4k
    {
1772
70.4k
        return has_value();
1773
70.4k
    }
scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1771
449k
    {
1772
449k
        return has_value();
1773
449k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1771
73.2k
    {
1772
73.2k
        return has_value();
1773
73.2k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1771
64.2k
    {
1772
64.2k
        return has_value();
1773
64.2k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1771
85.1k
    {
1772
85.1k
        return has_value();
1773
85.1k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1771
69.7k
    {
1772
69.7k
        return has_value();
1773
69.7k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1771
86.6k
    {
1772
86.6k
        return has_value();
1773
86.6k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1771
70.4k
    {
1772
70.4k
        return has_value();
1773
70.4k
    }
scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1771
176k
    {
1772
176k
        return has_value();
1773
176k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1771
29.3k
    {
1772
29.3k
        return has_value();
1773
29.3k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1771
29.2k
    {
1772
29.2k
        return has_value();
1773
29.2k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1771
29.4k
    {
1772
29.4k
        return has_value();
1773
29.4k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1771
29.3k
    {
1772
29.3k
        return has_value();
1773
29.3k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1771
29.5k
    {
1772
29.5k
        return has_value();
1773
29.5k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1771
29.4k
    {
1772
29.4k
        return has_value();
1773
29.4k
    }
scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1771
176k
    {
1772
176k
        return has_value();
1773
176k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1771
29.3k
    {
1772
29.3k
        return has_value();
1773
29.3k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1771
29.2k
    {
1772
29.2k
        return has_value();
1773
29.2k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1771
29.4k
    {
1772
29.4k
        return has_value();
1773
29.4k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1771
29.3k
    {
1772
29.3k
        return has_value();
1773
29.3k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1771
29.5k
    {
1772
29.5k
        return has_value();
1773
29.5k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1771
29.4k
    {
1772
29.4k
        return has_value();
1773
29.4k
    }
scn::v4::expected<void, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1771
5.23M
    {
1772
5.23M
        return has_value();
1773
5.23M
    }
Unexecuted instantiation: scn::v4::expected<wchar_t, scn::v4::scan_error>::operator bool() const
scn::v4::expected<char const*, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1771
2.67M
    {
1772
2.67M
        return has_value();
1773
2.67M
    }
scn::v4::expected<wchar_t const*, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1771
577k
    {
1772
577k
        return has_value();
1773
577k
    }
scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::eof_error>::operator bool() const
Line
Count
Source
1771
520k
    {
1772
520k
        return has_value();
1773
520k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error>::operator bool() const
scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1771
604k
    {
1772
604k
        return has_value();
1773
604k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::operator bool() const
scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error>::operator bool() const
Line
Count
Source
1771
1.30M
    {
1772
1.30M
        return has_value();
1773
1.30M
    }
scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator bool() const
Line
Count
Source
1771
412k
    {
1772
412k
        return has_value();
1773
412k
    }
scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1771
412k
    {
1772
412k
        return has_value();
1773
412k
    }
scn::v4::expected<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1771
60.6k
    {
1772
60.6k
        return has_value();
1773
60.6k
    }
scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1771
1.48M
    {
1772
1.48M
        return has_value();
1773
1.48M
    }
scn::v4::expected<char const*, scn::v4::impl::eof_error>::operator bool() const
Line
Count
Source
1771
522k
    {
1772
522k
        return has_value();
1773
522k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, scn::v4::scan_error>::operator bool() const
scn::v4::expected<std::__1::pair<char const*, long>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1771
604k
    {
1772
604k
        return has_value();
1773
604k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::scan_error>::operator bool() const
scn::v4::expected<char const*, scn::v4::impl::parse_error>::operator bool() const
Line
Count
Source
1771
968k
    {
1772
968k
        return has_value();
1773
968k
    }
scn::v4::expected<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator bool() const
Line
Count
Source
1771
414k
    {
1772
414k
        return has_value();
1773
414k
    }
scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1771
414k
    {
1772
414k
        return has_value();
1773
414k
    }
scn::v4::expected<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1771
60.8k
    {
1772
60.8k
        return has_value();
1773
60.8k
    }
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::scan_error>::operator bool() const
scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::eof_error>::operator bool() const
Line
Count
Source
1771
158k
    {
1772
158k
        return has_value();
1773
158k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error>::operator bool() const
scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1771
103k
    {
1772
103k
        return has_value();
1773
103k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::operator bool() const
scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error>::operator bool() const
Line
Count
Source
1771
392k
    {
1772
392k
        return has_value();
1773
392k
    }
scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator bool() const
Line
Count
Source
1771
125k
    {
1772
125k
        return has_value();
1773
125k
    }
scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1771
125k
    {
1772
125k
        return has_value();
1773
125k
    }
scn::v4::expected<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1771
16.5k
    {
1772
16.5k
        return has_value();
1773
16.5k
    }
scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1771
461k
    {
1772
461k
        return has_value();
1773
461k
    }
scn::v4::expected<wchar_t const*, scn::v4::impl::eof_error>::operator bool() const
Line
Count
Source
1771
158k
    {
1772
158k
        return has_value();
1773
158k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, scn::v4::scan_error>::operator bool() const
scn::v4::expected<std::__1::pair<wchar_t const*, long>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1771
103k
    {
1772
103k
        return has_value();
1773
103k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::scan_error>::operator bool() const
scn::v4::expected<wchar_t const*, scn::v4::impl::parse_error>::operator bool() const
Line
Count
Source
1771
392k
    {
1772
392k
        return has_value();
1773
392k
    }
scn::v4::expected<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator bool() const
Line
Count
Source
1771
125k
    {
1772
125k
        return has_value();
1773
125k
    }
scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1771
125k
    {
1772
125k
        return has_value();
1773
125k
    }
scn::v4::expected<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1771
16.5k
    {
1772
16.5k
        return has_value();
1773
16.5k
    }
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator bool() const
1774
1775
    /// Get the unexpected value, if one is contained in *this
1776
    constexpr error_type& error() & noexcept
1777
3.53M
    {
1778
3.53M
        SCN_EXPECT(!has_value());
1779
3.53M
        return this->get_unexpected().error();
1780
3.53M
    }
scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::scan_error>::error() &
Line
Count
Source
1777
86.6k
    {
1778
86.6k
        SCN_EXPECT(!has_value());
1779
86.6k
        return this->get_unexpected().error();
1780
86.6k
    }
scn::v4::expected<long, scn::v4::scan_error>::error() &
Line
Count
Source
1777
520k
    {
1778
520k
        SCN_EXPECT(!has_value());
1779
520k
        return this->get_unexpected().error();
1780
520k
    }
scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::scan_error>::error() &
Line
Count
Source
1777
86.6k
    {
1778
86.6k
        SCN_EXPECT(!has_value());
1779
86.6k
        return this->get_unexpected().error();
1780
86.6k
    }
scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::scan_error>::error() &
Line
Count
Source
1777
173k
    {
1778
173k
        SCN_EXPECT(!has_value());
1779
173k
        return this->get_unexpected().error();
1780
173k
    }
scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::scan_error>::error() &
Line
Count
Source
1777
173k
    {
1778
173k
        SCN_EXPECT(!has_value());
1779
173k
        return this->get_unexpected().error();
1780
173k
    }
scn::v4::expected<void, scn::v4::scan_error>::error() &
Line
Count
Source
1777
445k
    {
1778
445k
        SCN_EXPECT(!has_value());
1779
445k
        return this->get_unexpected().error();
1780
445k
    }
Unexecuted instantiation: scn::v4::expected<wchar_t, scn::v4::scan_error>::error() &
scn::v4::expected<char const*, scn::v4::scan_error>::error() &
Line
Count
Source
1777
171k
    {
1778
171k
        SCN_EXPECT(!has_value());
1779
171k
        return this->get_unexpected().error();
1780
171k
    }
scn::v4::expected<wchar_t const*, scn::v4::scan_error>::error() &
Line
Count
Source
1777
329k
    {
1778
329k
        SCN_EXPECT(!has_value());
1779
329k
        return this->get_unexpected().error();
1780
329k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error>::error() &
scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v4::scan_error>::error() &
Line
Count
Source
1777
9.70k
    {
1778
9.70k
        SCN_EXPECT(!has_value());
1779
9.70k
        return this->get_unexpected().error();
1780
9.70k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::error() &
scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::eof_error>::error() &
Line
Count
Source
1777
360
    {
1778
360
        SCN_EXPECT(!has_value());
1779
360
        return this->get_unexpected().error();
1780
360
    }
scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error>::error() &
Line
Count
Source
1777
369k
    {
1778
369k
        SCN_EXPECT(!has_value());
1779
369k
        return this->get_unexpected().error();
1780
369k
    }
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::scan_error>::error() &
scn::v4::expected<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::error() &
Line
Count
Source
1777
3.25k
    {
1778
3.25k
        SCN_EXPECT(!has_value());
1779
3.25k
        return this->get_unexpected().error();
1780
3.25k
    }
scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::scan_error>::error() &
Line
Count
Source
1777
142k
    {
1778
142k
        SCN_EXPECT(!has_value());
1779
142k
        return this->get_unexpected().error();
1780
142k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, scn::v4::scan_error>::error() &
scn::v4::expected<std::__1::pair<char const*, long>, scn::v4::scan_error>::error() &
Line
Count
Source
1777
8.74k
    {
1778
8.74k
        SCN_EXPECT(!has_value());
1779
8.74k
        return this->get_unexpected().error();
1780
8.74k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::scan_error>::error() &
scn::v4::expected<char const*, scn::v4::impl::eof_error>::error() &
Line
Count
Source
1777
360
    {
1778
360
        SCN_EXPECT(!has_value());
1779
360
        return this->get_unexpected().error();
1780
360
    }
scn::v4::expected<char const*, scn::v4::impl::parse_error>::error() &
Line
Count
Source
1777
359k
    {
1778
359k
        SCN_EXPECT(!has_value());
1779
359k
        return this->get_unexpected().error();
1780
359k
    }
Unexecuted instantiation: scn::v4::expected<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::scan_error>::error() &
scn::v4::expected<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::error() &
Line
Count
Source
1777
3.49k
    {
1778
3.49k
        SCN_EXPECT(!has_value());
1779
3.49k
        return this->get_unexpected().error();
1780
3.49k
    }
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error>::error() &
scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v4::scan_error>::error() &
Line
Count
Source
1777
1.41k
    {
1778
1.41k
        SCN_EXPECT(!has_value());
1779
1.41k
        return this->get_unexpected().error();
1780
1.41k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::error() &
scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::eof_error>::error() &
Line
Count
Source
1777
72
    {
1778
72
        SCN_EXPECT(!has_value());
1779
72
        return this->get_unexpected().error();
1780
72
    }
scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error>::error() &
Line
Count
Source
1777
142k
    {
1778
142k
        SCN_EXPECT(!has_value());
1779
142k
        return this->get_unexpected().error();
1780
142k
    }
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::scan_error>::error() &
scn::v4::expected<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::error() &
Line
Count
Source
1777
16.0k
    {
1778
16.0k
        SCN_EXPECT(!has_value());
1779
16.0k
        return this->get_unexpected().error();
1780
16.0k
    }
scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::scan_error>::error() &
Line
Count
Source
1777
328k
    {
1778
328k
        SCN_EXPECT(!has_value());
1779
328k
        return this->get_unexpected().error();
1780
328k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, scn::v4::scan_error>::error() &
scn::v4::expected<std::__1::pair<wchar_t const*, long>, scn::v4::scan_error>::error() &
Line
Count
Source
1777
1.41k
    {
1778
1.41k
        SCN_EXPECT(!has_value());
1779
1.41k
        return this->get_unexpected().error();
1780
1.41k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::scan_error>::error() &
scn::v4::expected<wchar_t const*, scn::v4::impl::eof_error>::error() &
Line
Count
Source
1777
72
    {
1778
72
        SCN_EXPECT(!has_value());
1779
72
        return this->get_unexpected().error();
1780
72
    }
scn::v4::expected<wchar_t const*, scn::v4::impl::parse_error>::error() &
Line
Count
Source
1777
142k
    {
1778
142k
        SCN_EXPECT(!has_value());
1779
142k
        return this->get_unexpected().error();
1780
142k
    }
Unexecuted instantiation: scn::v4::expected<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::scan_error>::error() &
scn::v4::expected<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::error() &
Line
Count
Source
1777
16.0k
    {
1778
16.0k
        SCN_EXPECT(!has_value());
1779
16.0k
        return this->get_unexpected().error();
1780
16.0k
    }
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::eof_error>::error() &
1781
    constexpr const error_type& error() const& noexcept
1782
0
    {
1783
0
        SCN_EXPECT(!has_value());
1784
0
        return this->get_unexpected().error();
1785
0
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<char const*, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<char const*, scn::v4::impl::parse_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<wchar_t const*, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<wchar_t const*, scn::v4::impl::parse_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::eof_error>::error() const &
1786
    constexpr error_type&& error() && noexcept
1787
342k
    {
1788
342k
        SCN_EXPECT(!has_value());
1789
342k
        return std::move(this->get_unexpected().error());
1790
342k
    }
scn::v4::expected<void, scn::v4::scan_error>::error() &&
Line
Count
Source
1787
133k
    {
1788
133k
        SCN_EXPECT(!has_value());
1789
133k
        return std::move(this->get_unexpected().error());
1790
133k
    }
scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::eof_error>::error() &&
Line
Count
Source
1787
23.4k
    {
1788
23.4k
        SCN_EXPECT(!has_value());
1789
23.4k
        return std::move(this->get_unexpected().error());
1790
23.4k
    }
scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::eof_error>::error() &&
Line
Count
Source
1787
20.6k
    {
1788
20.6k
        SCN_EXPECT(!has_value());
1789
20.6k
        return std::move(this->get_unexpected().error());
1790
20.6k
    }
scn::v4::expected<char const*, scn::v4::impl::eof_error>::error() &&
Line
Count
Source
1787
11.1k
    {
1788
11.1k
        SCN_EXPECT(!has_value());
1789
11.1k
        return std::move(this->get_unexpected().error());
1790
11.1k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::impl::eof_error>::error() &&
scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error>::error() &&
Line
Count
Source
1787
28.2k
    {
1788
28.2k
        SCN_EXPECT(!has_value());
1789
28.2k
        return std::move(this->get_unexpected().error());
1790
28.2k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::impl::eof_error>::error() &&
scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error>::error() &&
Line
Count
Source
1787
104k
    {
1788
104k
        SCN_EXPECT(!has_value());
1789
104k
        return std::move(this->get_unexpected().error());
1790
104k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::eof_error>::error() &&
scn::v4::expected<wchar_t const*, scn::v4::impl::eof_error>::error() &&
Line
Count
Source
1787
20.6k
    {
1788
20.6k
        SCN_EXPECT(!has_value());
1789
20.6k
        return std::move(this->get_unexpected().error());
1790
20.6k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::eof_error>::error() &&
1791
    constexpr const error_type&& error() const&& noexcept
1792
    {
1793
        SCN_EXPECT(!has_value());
1794
        return std::move(this->get_unexpected().error());
1795
    }
1796
1797
    /// Get the expected value, if one is contained in *this
1798
    template <typename U = T, std::enable_if_t<!std::is_void_v<U>>* = nullptr>
1799
    constexpr U& value() & noexcept
1800
16.3M
    {
1801
16.3M
        SCN_EXPECT(has_value());
1802
16.3M
        return this->get_value();
1803
16.3M
    }
_ZNR3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeIPKcS7_EENS0_10scan_errorEE5valueIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSE_v
Line
Count
Source
1800
363k
    {
1801
363k
        SCN_EXPECT(has_value());
1802
363k
        return this->get_value();
1803
363k
    }
_ZNR3scn2v48expectedIlNS0_10scan_errorEE5valueIlTnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERS7_v
Line
Count
Source
1800
1.09M
    {
1801
1.09M
        SCN_EXPECT(has_value());
1802
1.09M
        return this->get_value();
1803
1.09M
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJaEEENS0_10scan_errorEE5valueISA_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Line
Count
Source
1800
190k
    {
1801
190k
        SCN_EXPECT(has_value());
1802
190k
        return this->get_value();
1803
190k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJhEEENS0_10scan_errorEE5valueISA_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Line
Count
Source
1800
163k
    {
1801
163k
        SCN_EXPECT(has_value());
1802
163k
        return this->get_value();
1803
163k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJiEEENS0_10scan_errorEE5valueISA_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Line
Count
Source
1800
228k
    {
1801
228k
        SCN_EXPECT(has_value());
1802
228k
        return this->get_value();
1803
228k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJjEEENS0_10scan_errorEE5valueISA_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Line
Count
Source
1800
180k
    {
1801
180k
        SCN_EXPECT(has_value());
1802
180k
        return this->get_value();
1803
180k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJxEEENS0_10scan_errorEE5valueISA_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Line
Count
Source
1800
232k
    {
1801
232k
        SCN_EXPECT(has_value());
1802
232k
        return this->get_value();
1803
232k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJyEEENS0_10scan_errorEE5valueISA_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Line
Count
Source
1800
182k
    {
1801
182k
        SCN_EXPECT(has_value());
1802
182k
        return this->get_value();
1803
182k
    }
_ZNR3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EENS0_10scan_errorEE5valueISE_TnPNS6_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSJ_v
Line
Count
Source
1800
362k
    {
1801
362k
        SCN_EXPECT(has_value());
1802
362k
        return this->get_value();
1803
362k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEJaEEENS0_10scan_errorEE5valueISG_TnPNS7_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSL_v
Line
Count
Source
1800
190k
    {
1801
190k
        SCN_EXPECT(has_value());
1802
190k
        return this->get_value();
1803
190k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEJhEEENS0_10scan_errorEE5valueISG_TnPNS7_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSL_v
Line
Count
Source
1800
163k
    {
1801
163k
        SCN_EXPECT(has_value());
1802
163k
        return this->get_value();
1803
163k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEJiEEENS0_10scan_errorEE5valueISG_TnPNS7_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSL_v
Line
Count
Source
1800
226k
    {
1801
226k
        SCN_EXPECT(has_value());
1802
226k
        return this->get_value();
1803
226k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEJjEEENS0_10scan_errorEE5valueISG_TnPNS7_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSL_v
Line
Count
Source
1800
180k
    {
1801
180k
        SCN_EXPECT(has_value());
1802
180k
        return this->get_value();
1803
180k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEJxEEENS0_10scan_errorEE5valueISG_TnPNS7_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSL_v
Line
Count
Source
1800
230k
    {
1801
230k
        SCN_EXPECT(has_value());
1802
230k
        return this->get_value();
1803
230k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEJyEEENS0_10scan_errorEE5valueISG_TnPNS7_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSL_v
Line
Count
Source
1800
182k
    {
1801
182k
        SCN_EXPECT(has_value());
1802
182k
        return this->get_value();
1803
182k
    }
_ZNR3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeIPKwS7_EENS0_10scan_errorEE5valueIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSE_v
Line
Count
Source
1800
3.09k
    {
1801
3.09k
        SCN_EXPECT(has_value());
1802
3.09k
        return this->get_value();
1803
3.09k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJaEEENS0_10scan_errorEE5valueISA_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Line
Count
Source
1800
30.2k
    {
1801
30.2k
        SCN_EXPECT(has_value());
1802
30.2k
        return this->get_value();
1803
30.2k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJhEEENS0_10scan_errorEE5valueISA_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Line
Count
Source
1800
30.0k
    {
1801
30.0k
        SCN_EXPECT(has_value());
1802
30.0k
        return this->get_value();
1803
30.0k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJiEEENS0_10scan_errorEE5valueISA_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Line
Count
Source
1800
30.5k
    {
1801
30.5k
        SCN_EXPECT(has_value());
1802
30.5k
        return this->get_value();
1803
30.5k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJjEEENS0_10scan_errorEE5valueISA_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Line
Count
Source
1800
30.2k
    {
1801
30.2k
        SCN_EXPECT(has_value());
1802
30.2k
        return this->get_value();
1803
30.2k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJxEEENS0_10scan_errorEE5valueISA_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Line
Count
Source
1800
30.9k
    {
1801
30.9k
        SCN_EXPECT(has_value());
1802
30.9k
        return this->get_value();
1803
30.9k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJyEEENS0_10scan_errorEE5valueISA_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Line
Count
Source
1800
30.5k
    {
1801
30.5k
        SCN_EXPECT(has_value());
1802
30.5k
        return this->get_value();
1803
30.5k
    }
_ZNR3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS8_PKS9_lLl1024EEESD_EENS0_10scan_errorEE5valueISE_TnPNS6_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSJ_v
Line
Count
Source
1800
3.09k
    {
1801
3.09k
        SCN_EXPECT(has_value());
1802
3.09k
        return this->get_value();
1803
3.09k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEJaEEENS0_10scan_errorEE5valueISG_TnPNS7_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSL_v
Line
Count
Source
1800
30.2k
    {
1801
30.2k
        SCN_EXPECT(has_value());
1802
30.2k
        return this->get_value();
1803
30.2k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEJhEEENS0_10scan_errorEE5valueISG_TnPNS7_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSL_v
Line
Count
Source
1800
30.0k
    {
1801
30.0k
        SCN_EXPECT(has_value());
1802
30.0k
        return this->get_value();
1803
30.0k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEJiEEENS0_10scan_errorEE5valueISG_TnPNS7_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSL_v
Line
Count
Source
1800
30.5k
    {
1801
30.5k
        SCN_EXPECT(has_value());
1802
30.5k
        return this->get_value();
1803
30.5k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEJjEEENS0_10scan_errorEE5valueISG_TnPNS7_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSL_v
Line
Count
Source
1800
30.2k
    {
1801
30.2k
        SCN_EXPECT(has_value());
1802
30.2k
        return this->get_value();
1803
30.2k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEJxEEENS0_10scan_errorEE5valueISG_TnPNS7_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSL_v
Line
Count
Source
1800
30.9k
    {
1801
30.9k
        SCN_EXPECT(has_value());
1802
30.9k
        return this->get_value();
1803
30.9k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEJyEEENS0_10scan_errorEE5valueISG_TnPNS7_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSL_v
Line
Count
Source
1800
30.5k
    {
1801
30.5k
        SCN_EXPECT(has_value());
1802
30.5k
        return this->get_value();
1803
30.5k
    }
Unexecuted instantiation: _ZNR3scn2v48expectedIwNS0_10scan_errorEE5valueIwTnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERS7_v
_ZNR3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEE5valueIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
Line
Count
Source
1800
834k
    {
1801
834k
        SCN_EXPECT(has_value());
1802
834k
        return this->get_value();
1803
834k
    }
_ZNR3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEE5valueIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
Line
Count
Source
1800
208k
    {
1801
208k
        SCN_EXPECT(has_value());
1802
208k
        return this->get_value();
1803
208k
    }
_ZNR3scn2v48expectedIPKcNS0_10scan_errorEE5valueIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERS9_v
Line
Count
Source
1800
2.50M
    {
1801
2.50M
        SCN_EXPECT(has_value());
1802
2.50M
        return this->get_value();
1803
2.50M
    }
_ZNR3scn2v48expectedIPKwNS0_10scan_errorEE5valueIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERS9_v
Line
Count
Source
1800
247k
    {
1801
247k
        SCN_EXPECT(has_value());
1802
247k
        return this->get_value();
1803
247k
    }
_ZNR3scn2v48expectedIPKcNS0_4impl9eof_errorEE5valueIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSA_v
Line
Count
Source
1800
510k
    {
1801
510k
        SCN_EXPECT(has_value());
1802
510k
        return this->get_value();
1803
510k
    }
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEE5valueISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSQ_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS0_10scan_errorEE5valueISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSQ_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEElEENS0_10scan_errorEE5valueISE_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSJ_v
_ZNR3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIcE16forward_iteratorElEENS0_10scan_errorEE5valueIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Line
Count
Source
1800
595k
    {
1801
595k
        SCN_EXPECT(has_value());
1802
595k
        return this->get_value();
1803
595k
    }
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEE5valueISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSK_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEE5valueISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSJ_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS0_10scan_errorEE5valueISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSJ_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__15tupleIJNS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESJ_EEENS0_10scan_errorEE5valueISK_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSP_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS0_10scan_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
_ZNR3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEE5valueIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
Line
Count
Source
1800
748k
    {
1801
748k
        SCN_EXPECT(has_value());
1802
748k
        return this->get_value();
1803
748k
    }
_ZNR3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEE5valueISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Line
Count
Source
1800
412k
    {
1801
412k
        SCN_EXPECT(has_value());
1802
412k
        return this->get_value();
1803
412k
    }
_ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEENS2_9eof_errorEE5valueIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSE_v
Line
Count
Source
1800
412k
    {
1801
412k
        SCN_EXPECT(has_value());
1802
412k
        return this->get_value();
1803
412k
    }
_ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEENS0_10scan_errorEE5valueIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSE_v
Line
Count
Source
1800
412k
    {
1801
412k
        SCN_EXPECT(has_value());
1802
412k
        return this->get_value();
1803
412k
    }
_ZNR3scn2v48expectedINSt3__15tupleIJNS0_6detail17basic_scan_bufferIcE16forward_iteratorENS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESD_EEENS0_10scan_errorEE5valueISE_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSJ_v
Line
Count
Source
1800
57.4k
    {
1801
57.4k
        SCN_EXPECT(has_value());
1802
57.4k
        return this->get_value();
1803
57.4k
    }
_ZNR3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_10scan_errorEE5valueIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSB_v
Line
Count
Source
1800
1.33M
    {
1801
1.33M
        SCN_EXPECT(has_value());
1802
1.33M
        return this->get_value();
1803
1.33M
    }
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_9eof_errorEE5valueIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEE8sentinelILb1EEEEENS2_9eof_errorEE5valueISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSM_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEE8sentinelILb1EEEEENS0_10scan_errorEE5valueISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSM_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EElEENS0_10scan_errorEE5valueISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
_ZNR3scn2v48expectedINSt3__14pairIPKclEENS0_10scan_errorEE5valueIS6_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSB_v
Line
Count
Source
1800
595k
    {
1801
595k
        SCN_EXPECT(has_value());
1802
595k
        return this->get_value();
1803
595k
    }
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_11parse_errorEE5valueIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9sign_typeEEENS4_9eof_errorEE5valueISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEENS2_9eof_errorEE5valueIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEENS0_10scan_errorEE5valueIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__15tupleIJNS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESF_EEENS0_10scan_errorEE5valueISG_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSL_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS0_10scan_errorEE5valueIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
_ZNR3scn2v48expectedIPKcNS0_4impl11parse_errorEE5valueIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSA_v
Line
Count
Source
1800
141k
    {
1801
141k
        SCN_EXPECT(has_value());
1802
141k
        return this->get_value();
1803
141k
    }
_ZNR3scn2v48expectedINSt3__14pairIPKcNS0_4impl9sign_typeEEENS6_9eof_errorEE5valueIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Line
Count
Source
1800
414k
    {
1801
414k
        SCN_EXPECT(has_value());
1802
414k
        return this->get_value();
1803
414k
    }
_ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKcEENS2_9eof_errorEE5valueIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
Line
Count
Source
1800
414k
    {
1801
414k
        SCN_EXPECT(has_value());
1802
414k
        return this->get_value();
1803
414k
    }
_ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKcEENS0_10scan_errorEE5valueIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
Line
Count
Source
1800
414k
    {
1801
414k
        SCN_EXPECT(has_value());
1802
414k
        return this->get_value();
1803
414k
    }
_ZNR3scn2v48expectedINSt3__15tupleIJPKcNS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESB_EEENS0_10scan_errorEE5valueISC_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Line
Count
Source
1800
57.3k
    {
1801
57.3k
        SCN_EXPECT(has_value());
1802
57.3k
        return this->get_value();
1803
57.3k
    }
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS0_10scan_errorEE5valueISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSK_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9sign_typeEEENS0_10scan_errorEE5valueISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9sign_typeEEENS0_10scan_errorEE5valueISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairIPKcNS0_4impl9sign_typeEEENS0_10scan_errorEE5valueIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEE5valueISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSQ_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS0_10scan_errorEE5valueISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSQ_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEElEENS0_10scan_errorEE5valueISE_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSJ_v
_ZNR3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIwE16forward_iteratorElEENS0_10scan_errorEE5valueIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Line
Count
Source
1800
101k
    {
1801
101k
        SCN_EXPECT(has_value());
1802
101k
        return this->get_value();
1803
101k
    }
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEE5valueISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSK_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEE5valueISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSJ_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS0_10scan_errorEE5valueISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSJ_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__15tupleIJNS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENSE_IcNSF_IcEENSH_IcEEEEEEENS0_10scan_errorEE5valueISN_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSS_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS0_10scan_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
_ZNR3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEE5valueIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
Line
Count
Source
1800
86.4k
    {
1801
86.4k
        SCN_EXPECT(has_value());
1802
86.4k
        return this->get_value();
1803
86.4k
    }
_ZNR3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEE5valueISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Line
Count
Source
1800
125k
    {
1801
125k
        SCN_EXPECT(has_value());
1802
125k
        return this->get_value();
1803
125k
    }
_ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEENS2_9eof_errorEE5valueIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSE_v
Line
Count
Source
1800
125k
    {
1801
125k
        SCN_EXPECT(has_value());
1802
125k
        return this->get_value();
1803
125k
    }
_ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEENS0_10scan_errorEE5valueIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSE_v
Line
Count
Source
1800
125k
    {
1801
125k
        SCN_EXPECT(has_value());
1802
125k
        return this->get_value();
1803
125k
    }
_ZNR3scn2v48expectedINSt3__15tupleIJNS0_6detail17basic_scan_bufferIwE16forward_iteratorENS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENS8_IcNS9_IcEENSB_IcEEEEEEENS0_10scan_errorEE5valueISH_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSM_v
Line
Count
Source
1800
550
    {
1801
550
        SCN_EXPECT(has_value());
1802
550
        return this->get_value();
1803
550
    }
_ZNR3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_10scan_errorEE5valueIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSB_v
Line
Count
Source
1800
133k
    {
1801
133k
        SCN_EXPECT(has_value());
1802
133k
        return this->get_value();
1803
133k
    }
_ZNR3scn2v48expectedIPKwNS0_4impl9eof_errorEE5valueIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSA_v
Line
Count
Source
1800
208k
    {
1801
208k
        SCN_EXPECT(has_value());
1802
208k
        return this->get_value();
1803
208k
    }
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_9eof_errorEE5valueIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEE8sentinelILb1EEEEENS2_9eof_errorEE5valueISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSM_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEE8sentinelILb1EEEEENS0_10scan_errorEE5valueISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSM_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EElEENS0_10scan_errorEE5valueISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
_ZNR3scn2v48expectedINSt3__14pairIPKwlEENS0_10scan_errorEE5valueIS6_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSB_v
Line
Count
Source
1800
101k
    {
1801
101k
        SCN_EXPECT(has_value());
1802
101k
        return this->get_value();
1803
101k
    }
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_11parse_errorEE5valueIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9sign_typeEEENS4_9eof_errorEE5valueISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEENS2_9eof_errorEE5valueIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEENS0_10scan_errorEE5valueIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__15tupleIJNS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENSA_IcNSB_IcEENSD_IcEEEEEEENS0_10scan_errorEE5valueISJ_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSO_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS0_10scan_errorEE5valueIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
_ZNR3scn2v48expectedIPKwNS0_4impl11parse_errorEE5valueIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSA_v
Line
Count
Source
1800
83.6k
    {
1801
83.6k
        SCN_EXPECT(has_value());
1802
83.6k
        return this->get_value();
1803
83.6k
    }
_ZNR3scn2v48expectedINSt3__14pairIPKwNS0_4impl9sign_typeEEENS6_9eof_errorEE5valueIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Line
Count
Source
1800
125k
    {
1801
125k
        SCN_EXPECT(has_value());
1802
125k
        return this->get_value();
1803
125k
    }
_ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKwEENS2_9eof_errorEE5valueIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
Line
Count
Source
1800
125k
    {
1801
125k
        SCN_EXPECT(has_value());
1802
125k
        return this->get_value();
1803
125k
    }
_ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKwEENS0_10scan_errorEE5valueIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
Line
Count
Source
1800
125k
    {
1801
125k
        SCN_EXPECT(has_value());
1802
125k
        return this->get_value();
1803
125k
    }
_ZNR3scn2v48expectedINSt3__15tupleIJPKwNS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENS6_IcNS7_IcEENS9_IcEEEEEEENS0_10scan_errorEE5valueISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSK_v
Line
Count
Source
1800
550
    {
1801
550
        SCN_EXPECT(has_value());
1802
550
        return this->get_value();
1803
550
    }
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS0_10scan_errorEE5valueISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSK_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9sign_typeEEENS0_10scan_errorEE5valueISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9sign_typeEEENS0_10scan_errorEE5valueISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairIPKwNS0_4impl9sign_typeEEENS0_10scan_errorEE5valueIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEE5valueISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSN_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS0_10scan_errorEE5valueISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSN_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEE5valueISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSN_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS0_10scan_errorEE5valueISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSN_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS2_18default_sentinel_tEEENS0_10scan_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEJNSt3__112basic_stringIcNSD_11char_traitsIcEENSD_9allocatorIcEEEEEEENS0_10scan_errorEE5valueISK_TnPNSD_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSP_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeINSt3__111__wrap_iterIPcEES9_EENS0_10scan_errorEE5valueISA_TnPNS6_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__111__wrap_iterIPcEESA_EEJdEEENS0_10scan_errorEE5valueISC_TnPNS7_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJNSt3__112basic_stringIcNSA_11char_traitsIcEENSA_9allocatorIcEEEEEEENS0_10scan_errorEE5valueISH_TnPNSA_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSM_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS2_18default_sentinel_tEEENS0_10scan_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEJNSt3__112basic_stringIcNSD_11char_traitsIcEENSD_9allocatorIcEEEEEEENS0_10scan_errorEE5valueISK_TnPNSD_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSP_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJNSt3__112basic_stringIcNSA_11char_traitsIcEENSA_9allocatorIcEEEEEEENS0_10scan_errorEE5valueISH_TnPNSA_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSM_v
1804
    template <typename U = T, std::enable_if_t<!std::is_void_v<U>>* = nullptr>
1805
    constexpr const U& value() const& noexcept
1806
0
    {
1807
0
        SCN_EXPECT(has_value());
1808
0
        return this->get_value();
1809
0
    }
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEE5valueIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSC_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEE5valueIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSC_v
Unexecuted instantiation: _ZNKR3scn2v48expectedIPKcNS0_4impl9eof_errorEE5valueIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSA_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEE5valueISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSQ_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSH_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEE5valueISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSJ_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSH_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEENS2_9eof_errorEE5valueIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSE_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEE5valueIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSC_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEE8sentinelILb1EEEEENS2_9eof_errorEE5valueISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSM_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_9eof_errorEE5valueIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSD_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEENS2_9eof_errorEE5valueIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSF_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_11parse_errorEE5valueIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSD_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKcEENS2_9eof_errorEE5valueIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSC_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEE5valueISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSK_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEE5valueISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSF_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9sign_typeEEENS4_9eof_errorEE5valueISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSG_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairIPKcNS0_4impl9sign_typeEEENS6_9eof_errorEE5valueIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSD_v
Unexecuted instantiation: _ZNKR3scn2v48expectedIPKcNS0_4impl11parse_errorEE5valueIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSA_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEE5valueISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSQ_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSH_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEE5valueISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSJ_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSH_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEENS2_9eof_errorEE5valueIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSE_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEE5valueIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSC_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEE8sentinelILb1EEEEENS2_9eof_errorEE5valueISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSM_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_9eof_errorEE5valueIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSD_v
Unexecuted instantiation: _ZNKR3scn2v48expectedIPKwNS0_4impl9eof_errorEE5valueIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSA_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEENS2_9eof_errorEE5valueIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSF_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_11parse_errorEE5valueIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSD_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKwEENS2_9eof_errorEE5valueIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSC_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEE5valueISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSK_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEE5valueISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSF_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9sign_typeEEENS4_9eof_errorEE5valueISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSG_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairIPKwNS0_4impl9sign_typeEEENS6_9eof_errorEE5valueIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSD_v
Unexecuted instantiation: _ZNKR3scn2v48expectedIPKwNS0_4impl11parse_errorEE5valueIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSA_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEE5valueISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSN_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEE5valueISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSN_v
1810
    template <typename U = T, std::enable_if_t<!std::is_void_v<U>>* = nullptr>
1811
    constexpr U&& value() && noexcept
1812
    {
1813
        SCN_EXPECT(has_value());
1814
        return std::move(this->get_value());
1815
    }
1816
    template <typename U = T, std::enable_if_t<!std::is_void_v<U>>* = nullptr>
1817
    constexpr const U&& value() const&& noexcept
1818
    {
1819
        SCN_EXPECT(has_value());
1820
        return std::move(this->get_value());
1821
    }
1822
1823
    /// Get the expected value, if one is contained in *this
1824
    template <typename U = T, std::enable_if_t<!std::is_void_v<U>>* = nullptr>
1825
    constexpr U& operator*() & noexcept
1826
2.88M
    {
1827
2.88M
        return value();
1828
2.88M
    }
_ZNR3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeIPKcS7_EENS0_10scan_errorEEdeIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSE_v
Line
Count
Source
1826
363k
    {
1827
363k
        return value();
1828
363k
    }
_ZNR3scn2v48expectedIlNS0_10scan_errorEEdeIlTnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERS7_v
Line
Count
Source
1826
1.09M
    {
1827
1.09M
        return value();
1828
1.09M
    }
_ZNR3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EENS0_10scan_errorEEdeISE_TnPNS6_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSJ_v
Line
Count
Source
1826
362k
    {
1827
362k
        return value();
1828
362k
    }
_ZNR3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeIPKwS7_EENS0_10scan_errorEEdeIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSE_v
Line
Count
Source
1826
3.09k
    {
1827
3.09k
        return value();
1828
3.09k
    }
_ZNR3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS8_PKS9_lLl1024EEESD_EENS0_10scan_errorEEdeISE_TnPNS6_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSJ_v
Line
Count
Source
1826
3.09k
    {
1827
3.09k
        return value();
1828
3.09k
    }
_ZNR3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
Line
Count
Source
1826
96.3k
    {
1827
96.3k
        return value();
1828
96.3k
    }
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEEdeISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSQ_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
_ZNR3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
Line
Count
Source
1826
141k
    {
1827
141k
        return value();
1828
141k
    }
_ZNR3scn2v48expectedIPKcNS0_4impl9eof_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSA_v
Line
Count
Source
1826
96.4k
    {
1827
96.4k
        return value();
1828
96.4k
    }
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_9eof_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEE8sentinelILb1EEEEENS2_9eof_errorEEdeISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSM_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_11parse_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
_ZNR3scn2v48expectedIPKcNS0_4impl11parse_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSA_v
Line
Count
Source
1826
141k
    {
1827
141k
        return value();
1828
141k
    }
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS0_10scan_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
_ZNR3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_10scan_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSB_v
Line
Count
Source
1826
281k
    {
1827
281k
        return value();
1828
281k
    }
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS0_10scan_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
_ZNR3scn2v48expectedIPKcNS0_10scan_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERS9_v
Line
Count
Source
1826
280k
    {
1827
280k
        return value();
1828
280k
    }
_ZNR3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
Line
Count
Source
1826
2.08k
    {
1827
2.08k
        return value();
1828
2.08k
    }
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEEdeISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSQ_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
_ZNR3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
Line
Count
Source
1826
2.41k
    {
1827
2.41k
        return value();
1828
2.41k
    }
_ZNR3scn2v48expectedIPKwNS0_4impl9eof_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSA_v
Line
Count
Source
1826
2.08k
    {
1827
2.08k
        return value();
1828
2.08k
    }
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_9eof_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEE8sentinelILb1EEEEENS2_9eof_errorEEdeISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSM_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_11parse_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
_ZNR3scn2v48expectedIPKwNS0_4impl11parse_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSA_v
Line
Count
Source
1826
2.41k
    {
1827
2.41k
        return value();
1828
2.41k
    }
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS0_10scan_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
_ZNR3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_10scan_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSB_v
Line
Count
Source
1826
2.40k
    {
1827
2.40k
        return value();
1828
2.40k
    }
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS0_10scan_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
_ZNR3scn2v48expectedIPKwNS0_10scan_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERS9_v
Line
Count
Source
1826
2.40k
    {
1827
2.40k
        return value();
1828
2.40k
    }
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEEdeISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSN_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEEdeISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSN_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS2_18default_sentinel_tEEENS0_10scan_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeINSt3__111__wrap_iterIPcEES9_EENS0_10scan_errorEEdeISA_TnPNS6_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS2_18default_sentinel_tEEENS0_10scan_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEEdeISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSJ_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEENS2_9eof_errorEEdeIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSE_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEENS2_9eof_errorEEdeIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKcEENS2_9eof_errorEEdeIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEEdeISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSK_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEEdeISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9sign_typeEEENS4_9eof_errorEEdeISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairIPKcNS0_4impl9sign_typeEEENS6_9eof_errorEEdeIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEEdeISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSJ_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEENS2_9eof_errorEEdeIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSE_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEENS2_9eof_errorEEdeIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKwEENS2_9eof_errorEEdeIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEEdeISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSK_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEEdeISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9sign_typeEEENS4_9eof_errorEEdeISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairIPKwNS0_4impl9sign_typeEEENS6_9eof_errorEEdeIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
1829
    template <typename U = T, std::enable_if_t<!std::is_void_v<U>>* = nullptr>
1830
    constexpr const U& operator*() const& noexcept
1831
0
    {
1832
0
        return value();
1833
0
    }
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSC_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSC_v
Unexecuted instantiation: _ZNKR3scn2v48expectedIPKcNS0_4impl9eof_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSA_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEEdeISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSQ_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSH_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEEdeISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSJ_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSH_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEENS2_9eof_errorEEdeIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSE_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSC_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEE8sentinelILb1EEEEENS2_9eof_errorEEdeISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSM_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_9eof_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSD_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEENS2_9eof_errorEEdeIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSF_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_11parse_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSD_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKcEENS2_9eof_errorEEdeIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSC_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEEdeISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSK_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEEdeISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSF_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9sign_typeEEENS4_9eof_errorEEdeISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSG_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairIPKcNS0_4impl9sign_typeEEENS6_9eof_errorEEdeIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSD_v
Unexecuted instantiation: _ZNKR3scn2v48expectedIPKcNS0_4impl11parse_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSA_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEEdeISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSQ_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSH_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEEdeISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSJ_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSH_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEENS2_9eof_errorEEdeIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSE_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSC_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEE8sentinelILb1EEEEENS2_9eof_errorEEdeISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSM_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_9eof_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSD_v
Unexecuted instantiation: _ZNKR3scn2v48expectedIPKwNS0_4impl9eof_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSA_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEENS2_9eof_errorEEdeIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSF_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_11parse_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSD_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKwEENS2_9eof_errorEEdeIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSC_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEEdeISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSK_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEEdeISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSF_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9sign_typeEEENS4_9eof_errorEEdeISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSG_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairIPKwNS0_4impl9sign_typeEEENS6_9eof_errorEEdeIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSD_v
Unexecuted instantiation: _ZNKR3scn2v48expectedIPKwNS0_4impl11parse_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSA_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEEdeISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSN_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEEdeISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSN_v
1834
    template <typename U = T, std::enable_if_t<!std::is_void_v<U>>* = nullptr>
1835
    constexpr U&& operator*() && noexcept
1836
10.7M
    {
1837
10.7M
        return std::move(value());
1838
10.7M
    }
Unexecuted instantiation: _ZNO3scn2v48expectedIwNS0_10scan_errorEEdeIwTnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOS7_v
_ZNO3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSC_v
Line
Count
Source
1836
738k
    {
1837
738k
        return std::move(value());
1838
738k
    }
_ZNO3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSC_v
Line
Count
Source
1836
206k
    {
1837
206k
        return std::move(value());
1838
206k
    }
_ZNO3scn2v48expectedIPKcNS0_10scan_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOS9_v
Line
Count
Source
1836
2.22M
    {
1837
2.22M
        return std::move(value());
1838
2.22M
    }
_ZNO3scn2v48expectedIPKwNS0_10scan_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOS9_v
Line
Count
Source
1836
245k
    {
1837
245k
        return std::move(value());
1838
245k
    }
_ZNO3scn2v48expectedIPKcNS0_4impl9eof_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSA_v
Line
Count
Source
1836
414k
    {
1837
414k
        return std::move(value());
1838
414k
    }
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEEdeISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSQ_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS0_10scan_errorEEdeISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSQ_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSH_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEElEENS0_10scan_errorEEdeISE_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSJ_v
_ZNO3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIcE16forward_iteratorElEENS0_10scan_errorEEdeIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSD_v
Line
Count
Source
1836
595k
    {
1837
595k
        return std::move(value());
1838
595k
    }
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEEdeISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSK_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSH_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEEdeISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSJ_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS0_10scan_errorEEdeISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSJ_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__15tupleIJNS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESJ_EEENS0_10scan_errorEEdeISK_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSP_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS0_10scan_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSH_v
_ZNO3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEEdeISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSF_v
Line
Count
Source
1836
412k
    {
1837
412k
        return std::move(value());
1838
412k
    }
_ZNO3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSC_v
Line
Count
Source
1836
607k
    {
1837
607k
        return std::move(value());
1838
607k
    }
_ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEENS2_9eof_errorEEdeIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSE_v
Line
Count
Source
1836
412k
    {
1837
412k
        return std::move(value());
1838
412k
    }
_ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEENS0_10scan_errorEEdeIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSE_v
Line
Count
Source
1836
412k
    {
1837
412k
        return std::move(value());
1838
412k
    }
_ZNO3scn2v48expectedINSt3__15tupleIJNS0_6detail17basic_scan_bufferIcE16forward_iteratorENS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESD_EEENS0_10scan_errorEEdeISE_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSJ_v
Line
Count
Source
1836
57.4k
    {
1837
57.4k
        return std::move(value());
1838
57.4k
    }
_ZNO3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_10scan_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSB_v
Line
Count
Source
1836
1.05M
    {
1837
1.05M
        return std::move(value());
1838
1.05M
    }
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEE8sentinelILb1EEEEENS2_9eof_errorEEdeISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSM_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEE8sentinelILb1EEEEENS0_10scan_errorEEdeISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSM_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_9eof_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSD_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EElEENS0_10scan_errorEEdeISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSF_v
_ZNO3scn2v48expectedINSt3__14pairIPKclEENS0_10scan_errorEEdeIS6_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSB_v
Line
Count
Source
1836
595k
    {
1837
595k
        return std::move(value());
1838
595k
    }
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9sign_typeEEENS4_9eof_errorEEdeISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSG_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_11parse_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSD_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEENS2_9eof_errorEEdeIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSF_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEENS0_10scan_errorEEdeIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSF_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__15tupleIJNS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESF_EEENS0_10scan_errorEEdeISG_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSL_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS0_10scan_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSD_v
_ZNO3scn2v48expectedINSt3__14pairIPKcNS0_4impl9sign_typeEEENS6_9eof_errorEEdeIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSD_v
Line
Count
Source
1836
414k
    {
1837
414k
        return std::move(value());
1838
414k
    }
_ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKcEENS2_9eof_errorEEdeIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSC_v
Line
Count
Source
1836
414k
    {
1837
414k
        return std::move(value());
1838
414k
    }
_ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKcEENS0_10scan_errorEEdeIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSC_v
Line
Count
Source
1836
414k
    {
1837
414k
        return std::move(value());
1838
414k
    }
_ZNO3scn2v48expectedINSt3__15tupleIJPKcNS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESB_EEENS0_10scan_errorEEdeISC_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSH_v
Line
Count
Source
1836
57.3k
    {
1837
57.3k
        return std::move(value());
1838
57.3k
    }
Unexecuted instantiation: _ZNO3scn2v48expectedIlNS0_10scan_errorEEdeIlTnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOS7_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS0_10scan_errorEEdeISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSK_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9sign_typeEEENS0_10scan_errorEEdeISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSF_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9sign_typeEEENS0_10scan_errorEEdeISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSG_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairIPKcNS0_4impl9sign_typeEEENS0_10scan_errorEEdeIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSD_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEEdeISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSQ_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS0_10scan_errorEEdeISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSQ_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSH_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEElEENS0_10scan_errorEEdeISE_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSJ_v
_ZNO3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIwE16forward_iteratorElEENS0_10scan_errorEEdeIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSD_v
Line
Count
Source
1836
101k
    {
1837
101k
        return std::move(value());
1838
101k
    }
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEEdeISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSK_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSH_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEEdeISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSJ_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS0_10scan_errorEEdeISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSJ_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__15tupleIJNS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENSE_IcNSF_IcEENSH_IcEEEEEEENS0_10scan_errorEEdeISN_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSS_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS0_10scan_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSH_v
_ZNO3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEEdeISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSF_v
Line
Count
Source
1836
125k
    {
1837
125k
        return std::move(value());
1838
125k
    }
_ZNO3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSC_v
Line
Count
Source
1836
84.0k
    {
1837
84.0k
        return std::move(value());
1838
84.0k
    }
_ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEENS2_9eof_errorEEdeIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSE_v
Line
Count
Source
1836
125k
    {
1837
125k
        return std::move(value());
1838
125k
    }
_ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEENS0_10scan_errorEEdeIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSE_v
Line
Count
Source
1836
125k
    {
1837
125k
        return std::move(value());
1838
125k
    }
_ZNO3scn2v48expectedINSt3__15tupleIJNS0_6detail17basic_scan_bufferIwE16forward_iteratorENS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENS8_IcNS9_IcEENSB_IcEEEEEEENS0_10scan_errorEEdeISH_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSM_v
Line
Count
Source
1836
550
    {
1837
550
        return std::move(value());
1838
550
    }
_ZNO3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_10scan_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSB_v
Line
Count
Source
1836
131k
    {
1837
131k
        return std::move(value());
1838
131k
    }
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEE8sentinelILb1EEEEENS2_9eof_errorEEdeISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSM_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEE8sentinelILb1EEEEENS0_10scan_errorEEdeISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSM_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_9eof_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSD_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EElEENS0_10scan_errorEEdeISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSF_v
_ZNO3scn2v48expectedIPKwNS0_4impl9eof_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSA_v
Line
Count
Source
1836
206k
    {
1837
206k
        return std::move(value());
1838
206k
    }
_ZNO3scn2v48expectedINSt3__14pairIPKwlEENS0_10scan_errorEEdeIS6_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSB_v
Line
Count
Source
1836
101k
    {
1837
101k
        return std::move(value());
1838
101k
    }
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9sign_typeEEENS4_9eof_errorEEdeISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSG_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_11parse_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSD_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEENS2_9eof_errorEEdeIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSF_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEENS0_10scan_errorEEdeIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSF_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__15tupleIJNS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENSA_IcNSB_IcEENSD_IcEEEEEEENS0_10scan_errorEEdeISJ_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSO_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS0_10scan_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSD_v
_ZNO3scn2v48expectedINSt3__14pairIPKwNS0_4impl9sign_typeEEENS6_9eof_errorEEdeIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSD_v
Line
Count
Source
1836
125k
    {
1837
125k
        return std::move(value());
1838
125k
    }
_ZNO3scn2v48expectedIPKwNS0_4impl11parse_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSA_v
Line
Count
Source
1836
81.2k
    {
1837
81.2k
        return std::move(value());
1838
81.2k
    }
_ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKwEENS2_9eof_errorEEdeIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSC_v
Line
Count
Source
1836
125k
    {
1837
125k
        return std::move(value());
1838
125k
    }
_ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKwEENS0_10scan_errorEEdeIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSC_v
Line
Count
Source
1836
125k
    {
1837
125k
        return std::move(value());
1838
125k
    }
_ZNO3scn2v48expectedINSt3__15tupleIJPKwNS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENS6_IcNS7_IcEENS9_IcEEEEEEENS0_10scan_errorEEdeISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSK_v
Line
Count
Source
1836
550
    {
1837
550
        return std::move(value());
1838
550
    }
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS0_10scan_errorEEdeISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSK_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9sign_typeEEENS0_10scan_errorEEdeISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSF_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9sign_typeEEENS0_10scan_errorEEdeISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSG_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairIPKwNS0_4impl9sign_typeEEENS0_10scan_errorEEdeIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSD_v
Unexecuted instantiation: _ZNO3scn2v48expectedIPKcNS0_4impl11parse_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSA_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEEdeISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSN_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS0_10scan_errorEEdeISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSN_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEEdeISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSN_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS0_10scan_errorEEdeISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSN_v
1839
    template <typename U = T, std::enable_if_t<!std::is_void_v<U>>* = nullptr>
1840
    constexpr const U&& operator*() const&& noexcept
1841
    {
1842
        return std::move(value());
1843
    }
1844
1845
    constexpr value_type* operator->() noexcept
1846
2.71M
    {
1847
2.71M
        return &value();
1848
2.71M
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v4::scan_error>::operator->()
Line
Count
Source
1846
190k
    {
1847
190k
        return &value();
1848
190k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v4::scan_error>::operator->()
Line
Count
Source
1846
163k
    {
1847
163k
        return &value();
1848
163k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error>::operator->()
Line
Count
Source
1846
228k
    {
1847
228k
        return &value();
1848
228k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error>::operator->()
Line
Count
Source
1846
180k
    {
1847
180k
        return &value();
1848
180k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v4::scan_error>::operator->()
Line
Count
Source
1846
232k
    {
1847
232k
        return &value();
1848
232k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v4::scan_error>::operator->()
Line
Count
Source
1846
182k
    {
1847
182k
        return &value();
1848
182k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v4::scan_error>::operator->()
Line
Count
Source
1846
190k
    {
1847
190k
        return &value();
1848
190k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v4::scan_error>::operator->()
Line
Count
Source
1846
163k
    {
1847
163k
        return &value();
1848
163k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v4::scan_error>::operator->()
Line
Count
Source
1846
226k
    {
1847
226k
        return &value();
1848
226k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v4::scan_error>::operator->()
Line
Count
Source
1846
180k
    {
1847
180k
        return &value();
1848
180k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v4::scan_error>::operator->()
Line
Count
Source
1846
230k
    {
1847
230k
        return &value();
1848
230k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v4::scan_error>::operator->()
Line
Count
Source
1846
182k
    {
1847
182k
        return &value();
1848
182k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v4::scan_error>::operator->()
Line
Count
Source
1846
30.2k
    {
1847
30.2k
        return &value();
1848
30.2k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v4::scan_error>::operator->()
Line
Count
Source
1846
30.0k
    {
1847
30.0k
        return &value();
1848
30.0k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error>::operator->()
Line
Count
Source
1846
30.5k
    {
1847
30.5k
        return &value();
1848
30.5k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error>::operator->()
Line
Count
Source
1846
30.2k
    {
1847
30.2k
        return &value();
1848
30.2k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v4::scan_error>::operator->()
Line
Count
Source
1846
30.9k
    {
1847
30.9k
        return &value();
1848
30.9k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v4::scan_error>::operator->()
Line
Count
Source
1846
30.5k
    {
1847
30.5k
        return &value();
1848
30.5k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v4::scan_error>::operator->()
Line
Count
Source
1846
30.2k
    {
1847
30.2k
        return &value();
1848
30.2k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v4::scan_error>::operator->()
Line
Count
Source
1846
30.0k
    {
1847
30.0k
        return &value();
1848
30.0k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v4::scan_error>::operator->()
Line
Count
Source
1846
30.5k
    {
1847
30.5k
        return &value();
1848
30.5k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v4::scan_error>::operator->()
Line
Count
Source
1846
30.2k
    {
1847
30.2k
        return &value();
1848
30.2k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v4::scan_error>::operator->()
Line
Count
Source
1846
30.9k
    {
1847
30.9k
        return &value();
1848
30.9k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v4::scan_error>::operator->()
Line
Count
Source
1846
30.5k
    {
1847
30.5k
        return &value();
1848
30.5k
    }
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator->()
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator->()
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator->()
Unexecuted instantiation: scn::v4::expected<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator->()
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator->()
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator->()
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator->()
Unexecuted instantiation: scn::v4::expected<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator->()
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator->()
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error>::operator->()
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator->()
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator->()
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator->()
1849
    constexpr const value_type* operator->() const noexcept
1850
    {
1851
        return &value();
1852
    }
1853
1854
    /// Returns the expected value if *this contains one, otherwise
1855
    /// returns default_value
1856
    template <typename U,
1857
              typename = std::enable_if_t<std::is_copy_constructible_v<T> &&
1858
                                          std::is_convertible_v<U, T>>>
1859
    constexpr T value_or(U&& default_value) const& noexcept(
1860
        std::is_nothrow_copy_constructible_v<T> &&
1861
        std::is_nothrow_constructible_v<T, U&&>)
1862
    {
1863
        if (has_value()) {
1864
            return value();
1865
        }
1866
        return std::forward<U>(default_value);
1867
    }
1868
    template <typename U,
1869
              typename = std::enable_if_t<std::is_move_constructible_v<T> &&
1870
                                          std::is_convertible_v<U, T>>>
1871
    constexpr T value_or(U&& default_value) && noexcept(
1872
        std::is_nothrow_move_constructible_v<T> &&
1873
        std::is_nothrow_constructible_v<T, U&&>)
1874
    {
1875
        if (has_value()) {
1876
            return std::move(value());
1877
        }
1878
        return std::forward<U>(default_value);
1879
    }
1880
1881
    template <typename G,
1882
              typename = std::enable_if_t<std::is_copy_constructible_v<E> &&
1883
                                          std::is_convertible_v<G, E>>>
1884
    constexpr E error_or(G&& default_error) const& noexcept(
1885
        std::is_nothrow_copy_constructible_v<E> &&
1886
        std::is_nothrow_constructible_v<E, G&&>)
1887
    {
1888
        if (!has_value()) {
1889
            return error();
1890
        }
1891
        return std::forward<G>(default_error);
1892
    }
1893
    template <typename G,
1894
              typename = std::enable_if_t<std::is_move_constructible_v<E> &&
1895
                                          std::is_convertible_v<G, E>>>
1896
    constexpr E error_or(G&& default_error) && noexcept(
1897
        std::is_nothrow_move_constructible_v<E> &&
1898
        std::is_nothrow_constructible_v<E, G&&>)
1899
    {
1900
        if (!has_value()) {
1901
            return std::move(error());
1902
        }
1903
        return std::forward<G>(default_error);
1904
    }
1905
1906
    template <typename F>
1907
    constexpr auto and_then(F&& f) & noexcept(noexcept(
1908
        detail::and_then_impl(SCN_DECLVAL(expected&), std::forward<F>(f))))
1909
        -> decltype(detail::and_then_impl(*this, std::forward<F>(f)))
1910
    {
1911
        return detail::and_then_impl(*this, std::forward<F>(f));
1912
    }
1913
    template <typename F>
1914
    constexpr auto and_then(F&& f) const& noexcept(
1915
        noexcept(detail::and_then_impl(SCN_DECLVAL(const expected&),
1916
                                       std::forward<F>(f))))
1917
        -> decltype(detail::and_then_impl(*this, std::forward<F>(f)))
1918
    {
1919
        return detail::and_then_impl(*this, std::forward<F>(f));
1920
    }
1921
    template <typename F>
1922
    constexpr auto and_then(F&& f) && noexcept(noexcept(
1923
        detail::and_then_impl(SCN_DECLVAL(expected&&), std::forward<F>(f))))
1924
        -> decltype(detail::and_then_impl(*this, std::forward<F>(f)))
1925
    {
1926
        return detail::and_then_impl(std::move(*this), std::forward<F>(f));
1927
    }
1928
    template <typename F>
1929
    constexpr auto and_then(F&& f) const&& noexcept(
1930
        noexcept(detail::and_then_impl(SCN_DECLVAL(const expected&&),
1931
                                       std::forward<F>(f))))
1932
        -> decltype(detail::and_then_impl(*this, std::forward<F>(f)))
1933
    {
1934
        return detail::and_then_impl(std::move(*this), std::forward<F>(f));
1935
    }
1936
1937
    template <typename F>
1938
    constexpr auto or_else(F&& f) & noexcept(noexcept(
1939
        detail::or_else_impl(SCN_DECLVAL(expected&), std::forward<F>(f))))
1940
        -> decltype(detail::or_else_impl(*this, std::forward<F>(f)))
1941
    {
1942
        return detail::or_else_impl(*this, std::forward<F>(f));
1943
    }
1944
    template <typename F>
1945
    constexpr auto or_else(F&& f) const& noexcept(noexcept(
1946
        detail::or_else_impl(SCN_DECLVAL(const expected&), std::forward<F>(f))))
1947
        -> decltype(detail::or_else_impl(*this, std::forward<F>(f)))
1948
    {
1949
        return detail::or_else_impl(*this, std::forward<F>(f));
1950
    }
1951
    template <typename F>
1952
    constexpr auto or_else(F&& f) && noexcept(noexcept(
1953
        detail::or_else_impl(SCN_DECLVAL(expected&&), std::forward<F>(f))))
1954
        -> decltype(detail::or_else_impl(*this, std::forward<F>(f)))
1955
    {
1956
        return detail::or_else_impl(std::move(*this), std::forward<F>(f));
1957
    }
1958
    template <typename F>
1959
    constexpr auto or_else(F&& f) const&& noexcept(
1960
        noexcept(detail::or_else_impl(SCN_DECLVAL(const expected&&),
1961
                                      std::forward<F>(f))))
1962
        -> decltype(detail::or_else_impl(*this, std::forward<F>(f)))
1963
    {
1964
        return detail::or_else_impl(std::move(*this), std::forward<F>(f));
1965
    }
1966
1967
    template <typename F>
1968
    constexpr auto transform(
1969
        F&& f) & -> decltype(detail::transform_impl(*this, std::forward<F>(f)))
1970
    {
1971
        return detail::transform_impl(*this, std::forward<F>(f));
1972
    }
1973
    template <typename F>
1974
    constexpr auto transform(F&& f)
1975
        const& -> decltype(detail::transform_impl(*this, std::forward<F>(f)))
1976
    {
1977
        return detail::transform_impl(*this, std::forward<F>(f));
1978
    }
1979
    template <typename F>
1980
    constexpr auto transform(
1981
        F&& f) && -> decltype(detail::transform_impl(*this, std::forward<F>(f)))
1982
    {
1983
        return detail::transform_impl(std::move(*this), std::forward<F>(f));
1984
    }
1985
    template <typename F>
1986
    constexpr auto transform(F&& f)
1987
        const&& -> decltype(detail::transform_impl(*this, std::forward<F>(f)))
1988
    {
1989
        return detail::transform_impl(std::move(*this), std::forward<F>(f));
1990
    }
1991
1992
    template <typename F>
1993
    constexpr auto transform_error(
1994
        F&& f) & -> decltype(detail::transform_error_impl(*this,
1995
                                                          std::forward<F>(f)))
1996
0
    {
1997
0
        return detail::transform_error_impl(*this, std::forward<F>(f));
1998
0
    }
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEE15transform_errorIZNS2_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSC_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSK_
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEE15transform_errorIZNS6_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS7_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSF_
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_11parse_errorEE15transform_errorIZNS2_29map_parse_error_to_scan_errorENS0_10scan_error4codeES6_EUlS8_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSE_
Unexecuted instantiation: _ZNR3scn2v48expectedIPKcNS0_4impl11parse_errorEE15transform_errorIZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeES3_EUlS5_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSB_
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEE15transform_errorIZNS2_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSC_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSK_
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEE15transform_errorIZNS6_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS7_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSF_
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_11parse_errorEE15transform_errorIZNS2_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS8_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSG_
Unexecuted instantiation: _ZNR3scn2v48expectedIPKwNS0_4impl11parse_errorEE15transform_errorIZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS5_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSD_
1999
    template <typename F>
2000
    constexpr auto transform_error(F&& f)
2001
        const& -> decltype(detail::transform_error_impl(*this,
2002
                                                        std::forward<F>(f)))
2003
    {
2004
        return detail::transform_error_impl(*this, std::forward<F>(f));
2005
    }
2006
    template <typename F>
2007
    constexpr auto transform_error(
2008
        F&& f) && -> decltype(detail::transform_error_impl(*this,
2009
                                                           std::forward<F>(f)))
2010
3.13M
    {
2011
3.13M
        return detail::transform_error_impl(std::move(*this),
2012
3.13M
                                            std::forward<F>(f));
2013
3.13M
    }
_ZNO3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEE15transform_errorIRFNS0_10scan_errorES7_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSD_
Line
Count
Source
2010
424k
    {
2011
424k
        return detail::transform_error_impl(std::move(*this),
2012
424k
                                            std::forward<F>(f));
2013
424k
    }
_ZNO3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEE15transform_errorIRFNS0_10scan_errorES7_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSD_
Line
Count
Source
2010
126k
    {
2011
126k
        return detail::transform_error_impl(std::move(*this),
2012
126k
                                            std::forward<F>(f));
2013
126k
    }
_ZNO3scn2v48expectedIPKcNS0_4impl9eof_errorEE15transform_errorIRFNS0_10scan_errorES5_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSB_
Line
Count
Source
2010
425k
    {
2011
425k
        return detail::transform_error_impl(std::move(*this),
2012
425k
                                            std::forward<F>(f));
2013
425k
    }
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESL_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSR_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESC_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSI_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEE15transform_errorIRFNS2_11parse_errorESC_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSI_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESE_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSK_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEE15transform_errorIZNS2_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSC_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSK_
_ZNO3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEE15transform_errorIRFNS6_11parse_errorES7_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSD_
Line
Count
Source
2010
336k
    {
2011
336k
        return detail::transform_error_impl(std::move(*this),
2012
336k
                                            std::forward<F>(f));
2013
336k
    }
_ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorES9_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSF_
Line
Count
Source
2010
412k
    {
2011
412k
        return detail::transform_error_impl(std::move(*this),
2012
412k
                                            std::forward<F>(f));
2013
412k
    }
_ZNO3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEE15transform_errorIZNS6_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS7_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSF_
Line
Count
Source
2010
309k
    {
2011
309k
        return detail::transform_error_impl(std::move(*this),
2012
309k
                                            std::forward<F>(f));
2013
309k
    }
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEE8sentinelILb1EEEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESI_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSO_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorES8_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSE_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_9eof_errorEE15transform_errorIRFNS2_11parse_errorES8_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSE_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESA_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSG_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_11parse_errorEE15transform_errorIZNS2_29map_parse_error_to_scan_errorENS0_10scan_error4codeES6_EUlS8_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSE_
_ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKcEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorES7_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSD_
Line
Count
Source
2010
414k
    {
2011
414k
        return detail::transform_error_impl(std::move(*this),
2012
414k
                                            std::forward<F>(f));
2013
414k
    }
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEE15transform_errorIRFNS0_10scan_errorESG_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSM_
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEE15transform_errorIRFNS0_10scan_errorESB_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSH_
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9sign_typeEEENS4_9eof_errorEE15transform_errorIRFNS0_10scan_errorESC_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSI_
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairIPKcNS0_4impl9sign_typeEEENS6_9eof_errorEE15transform_errorIRFNS0_10scan_errorES9_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSF_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESL_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSR_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESC_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSI_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEE15transform_errorIRFNS2_11parse_errorESC_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSI_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESE_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSK_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEE15transform_errorIZNS2_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSC_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSK_
_ZNO3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEE15transform_errorIRFNS6_11parse_errorES7_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSD_
Line
Count
Source
2010
100k
    {
2011
100k
        return detail::transform_error_impl(std::move(*this),
2012
100k
                                            std::forward<F>(f));
2013
100k
    }
_ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorES9_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSF_
Line
Count
Source
2010
125k
    {
2011
125k
        return detail::transform_error_impl(std::move(*this),
2012
125k
                                            std::forward<F>(f));
2013
125k
    }
_ZNO3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEE15transform_errorIZNS6_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS7_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSF_
Line
Count
Source
2010
107k
    {
2011
107k
        return detail::transform_error_impl(std::move(*this),
2012
107k
                                            std::forward<F>(f));
2013
107k
    }
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEE8sentinelILb1EEEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESI_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSO_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorES8_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSE_
_ZNO3scn2v48expectedIPKwNS0_4impl9eof_errorEE15transform_errorIRFNS0_10scan_errorES5_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSB_
Line
Count
Source
2010
126k
    {
2011
126k
        return detail::transform_error_impl(std::move(*this),
2012
126k
                                            std::forward<F>(f));
2013
126k
    }
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_9eof_errorEE15transform_errorIRFNS2_11parse_errorES8_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSE_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESA_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSG_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_11parse_errorEE15transform_errorIZNS2_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS8_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSG_
_ZNO3scn2v48expectedIPKwNS0_4impl9eof_errorEE15transform_errorIRFNS4_11parse_errorES5_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSB_
Line
Count
Source
2010
100k
    {
2011
100k
        return detail::transform_error_impl(std::move(*this),
2012
100k
                                            std::forward<F>(f));
2013
100k
    }
_ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKwEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorES7_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSD_
Line
Count
Source
2010
125k
    {
2011
125k
        return detail::transform_error_impl(std::move(*this),
2012
125k
                                            std::forward<F>(f));
2013
125k
    }
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEE15transform_errorIRFNS0_10scan_errorESG_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSM_
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEE15transform_errorIRFNS0_10scan_errorESB_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSH_
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9sign_typeEEENS4_9eof_errorEE15transform_errorIRFNS0_10scan_errorESC_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSI_
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairIPKwNS0_4impl9sign_typeEEENS6_9eof_errorEE15transform_errorIRFNS0_10scan_errorES9_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSF_
Unexecuted instantiation: _ZNO3scn2v48expectedIPKcNS0_4impl9eof_errorEE15transform_errorIRFNS4_11parse_errorES5_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSB_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESI_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSO_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESI_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSO_
2014
    template <typename F>
2015
    constexpr auto transform_error(F&& f)
2016
        const&& -> decltype(detail::transform_error_impl(*this,
2017
                                                         std::forward<F>(f)))
2018
    {
2019
        return detail::transform_error_impl(std::move(*this),
2020
                                            std::forward<F>(f));
2021
    }
2022
2023
private:
2024
    template <typename... Args>
2025
    void emplace_impl(Args&&... args) noexcept(
2026
        std::is_nothrow_constructible_v<T, Args&&...>)
2027
    {
2028
        if (this->has_value()) {
2029
            this->destroy_value();
2030
            this->construct(std::forward<Args>(args)...);
2031
        }
2032
        else {
2033
#if SCN_HAS_EXCEPTIONS
2034
            if constexpr (std::is_nothrow_constructible_v<T, Args&&...>) {
2035
                auto tmp = std::move(error());
2036
                this->destroy_unexpected();
2037
2038
                try {
2039
                    this->construct(std::forward<Args>(args)...);
2040
                }
2041
                catch (...) {
2042
                    this->construct_unexpected(std::move(tmp));
2043
                    throw;
2044
                }
2045
            }
2046
            else {
2047
                this->construct(std::forward<Args>(args)...);
2048
            }
2049
#else
2050
            this->destroy_unexpected();
2051
            this->construct(std::forward<Args>(args)...);
2052
#endif
2053
        }
2054
    }
2055
2056
    template <typename Value>
2057
    void assign_value(Value&& val) noexcept(
2058
        std::is_nothrow_constructible_v<detail::remove_cvref_t<Value>,
2059
                                        Value&&> &&
2060
        std::is_nothrow_assignable_v<T, Value&&>)
2061
    {
2062
        if (has_value()) {
2063
            this->get_value() = std::forward<Value>(val);
2064
            return;
2065
        }
2066
2067
#if SCN_HAS_EXCEPTIONS
2068
        if constexpr (std::is_nothrow_constructible_v<T, Value&&>) {
2069
            this->destroy_unexpected();
2070
            this->construct(std::forward<Value>(val));
2071
        }
2072
        else {
2073
            auto tmp = std::move(this->get_unexpected());
2074
            this->destroy_unexpected();
2075
2076
            try {
2077
                this->construct(std::forward<Value>(val));
2078
            }
2079
            catch (...) {
2080
                this->construct_unexpected(std::move(tmp));
2081
            }
2082
        }
2083
#else
2084
        this->destroy_unexpected();
2085
        this->construct(std::forward<Value>(val));
2086
#endif
2087
    }
2088
2089
    template <typename Unexpected>
2090
    void assign_unexpected(Unexpected&& unex) noexcept(
2091
        std::is_nothrow_constructible_v<E, Unexpected&&> &&
2092
        std::is_nothrow_assignable_v<E, Unexpected&&>)
2093
    {
2094
        if (!has_value()) {
2095
            this->get_unexpected() = std::forward<Unexpected>(unex);
2096
            return;
2097
        }
2098
2099
        this->destroy_value();
2100
        this->construct_unexpected(std::forward<Unexpected>(unex));
2101
    }
2102
};
2103
2104
/////////////////////////////////////////////////////////////////
2105
// <ranges> implementation
2106
/////////////////////////////////////////////////////////////////
2107
2108
/**
2109
 * Contains a very minimal `<ranges>` implementation.
2110
 *
2111
 * This is a heavily stripped-down and adapted version of NanoRange:
2112
 * https://github.com/tcbrindle/NanoRange.
2113
 *
2114
 * NanoRange is provided under the Boost license.
2115
 * Copyright (c) 2018 Tristan Brindle (tcbrindle at gmail dot com)
2116
 */
2117
namespace ranges {
2118
2119
namespace detail {
2120
using namespace scn::detail;
2121
2122
template <typename T>
2123
constexpr auto decay_copy(T&& t) noexcept(
2124
    noexcept(static_cast<std::decay_t<T>>(SCN_FWD(t)))) -> std::decay_t<T>
2125
119M
{
2126
119M
    return SCN_FWD(t);
2127
119M
}
_ZN3scn2v46ranges6detail10decay_copyIPKcEEu7__decayIT_EOS6_
Line
Count
Source
2125
4.29M
{
2126
4.29M
    return SCN_FWD(t);
2127
4.29M
}
_ZN3scn2v46ranges6detail10decay_copyImEEu7__decayIT_EOS4_
Line
Count
Source
2125
1.24M
{
2126
1.24M
    return SCN_FWD(t);
2127
1.24M
}
_ZN3scn2v46ranges6detail10decay_copyINSt3__116__deque_iteratorIcPKcRS6_PKS7_lLl4096EEEEEu7__decayIT_EOSC_
Line
Count
Source
2125
9.22M
{
2126
9.22M
    return SCN_FWD(t);
2127
9.22M
}
_ZN3scn2v46ranges6detail10decay_copyIPKwEEu7__decayIT_EOS6_
Line
Count
Source
2125
1.12M
{
2126
1.12M
    return SCN_FWD(t);
2127
1.12M
}
_ZN3scn2v46ranges6detail10decay_copyINSt3__116__deque_iteratorIwPKwRS6_PKS7_lLl1024EEEEEu7__decayIT_EOSC_
Line
Count
Source
2125
103M
{
2126
103M
    return SCN_FWD(t);
2127
103M
}
Unexecuted instantiation: _ZN3scn2v46ranges6detail10decay_copyINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEEEEu7__decayIT_EOSD_
Unexecuted instantiation: _ZN3scn2v46ranges6detail10decay_copyINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EEEEu7__decayIT_EOSA_
Unexecuted instantiation: _ZN3scn2v46ranges6detail10decay_copyINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEEu7__decayIT_EOS8_
Unexecuted instantiation: _ZN3scn2v46ranges6detail10decay_copyINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEEEEu7__decayIT_EOSD_
Unexecuted instantiation: _ZN3scn2v46ranges6detail10decay_copyINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EEEEu7__decayIT_EOSA_
Unexecuted instantiation: _ZN3scn2v46ranges6detail10decay_copyINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEEu7__decayIT_EOS8_
Unexecuted instantiation: _ZN3scn2v46ranges6detail10decay_copyINS1_18default_sentinel_tEEEu7__decayIT_EOS5_
Unexecuted instantiation: _ZN3scn2v46ranges6detail10decay_copyINSt3__111__wrap_iterIPcEEEEu7__decayIT_EOS8_
2128
2129
template <bool>
2130
struct conditional {
2131
    template <typename T, typename>
2132
    using type = T;
2133
};
2134
2135
template <>
2136
struct conditional<false> {
2137
    template <typename, typename U>
2138
    using type = U;
2139
};
2140
2141
template <bool B, typename T, typename U>
2142
using conditional_t = typename conditional<B>::template type<T, U>;
2143
2144
template <template <class...> class AliasT, typename... Args>
2145
auto exists_helper(long) -> std::false_type;
2146
2147
template <template <class...> class AliasT,
2148
          typename... Args,
2149
          typename = AliasT<Args...>>
2150
auto exists_helper(int) -> std::true_type;
2151
2152
template <template <class...> class AliasT, typename... Args>
2153
inline constexpr bool exists_v =
2154
    decltype(exists_helper<AliasT, Args...>(0))::value;
2155
2156
template <typename, typename...>
2157
auto test_requires_fn(long) -> std::false_type;
2158
2159
template <typename R,
2160
          typename... Args,
2161
          typename = decltype(&R::template requires_<Args...>)>
2162
auto test_requires_fn(int) -> std::true_type;
2163
2164
template <typename R, typename... Args>
2165
inline constexpr bool requires_ =
2166
    decltype(test_requires_fn<R, Args...>(0))::value;
2167
2168
template <bool Expr>
2169
using requires_expr = std::enable_if_t<Expr, int>;
2170
}  // namespace detail
2171
2172
template <typename>
2173
inline constexpr bool enable_borrowed_range = false;
2174
2175
namespace detail {
2176
template <typename T>
2177
inline constexpr bool boolean_testable_impl = std::is_convertible_v<T, bool>;
2178
2179
struct boolean_testable_concept {
2180
    template <typename T>
2181
    auto requires_(T&& t)
2182
        -> requires_expr<boolean_testable_impl<decltype(!std::forward<T>(t))>>;
2183
};
2184
2185
template <typename T>
2186
inline constexpr bool boolean_testable =
2187
    boolean_testable_impl<T> && detail::requires_<boolean_testable_concept, T>;
2188
}  // namespace detail
2189
2190
namespace detail {
2191
struct weakly_equality_comparable_with_concept {
2192
    template <typename T, typename U>
2193
    auto requires_(const std::remove_reference_t<T>& t,
2194
                   const std::remove_reference_t<U>& u)
2195
        -> decltype(requires_expr<boolean_testable<decltype(t == u)>>{},
2196
                    requires_expr<boolean_testable<decltype(t != u)>>{},
2197
                    requires_expr<boolean_testable<decltype(u == t)>>{},
2198
                    requires_expr<boolean_testable<decltype(u != t)>>{});
2199
};
2200
2201
template <typename T, typename U>
2202
inline constexpr bool weakly_equality_comparable_with =
2203
    requires_<weakly_equality_comparable_with_concept, T, U>;
2204
}  // namespace detail
2205
2206
template <typename T>
2207
inline constexpr bool equality_comparable =
2208
    detail::weakly_equality_comparable_with<T, T>;
2209
2210
namespace detail {
2211
struct equality_comparable_with_concept {
2212
    template <typename, typename>
2213
    static auto test(long) -> std::false_type;
2214
2215
    template <typename T, typename U>
2216
    static auto test(int)
2217
        -> std::enable_if_t<equality_comparable<T> && equality_comparable<U> &&
2218
#if 0
2219
            common_reference_with<const std::remove_reference_t<T>&,
2220
                                  const std::remove_reference_t<U>&> &&
2221
            equality_comparable<
2222
                common_reference_t<const std::remove_reference_t<T>&,
2223
                                   const std::remove_reference_t<U>&>> &&
2224
#endif
2225
                                weakly_equality_comparable_with<T, U>,
2226
                            std::true_type>;
2227
};
2228
}  // namespace detail
2229
2230
template <typename T, typename U>
2231
inline constexpr bool equality_comparable_with =
2232
    decltype(detail::equality_comparable_with_concept::test<T, U>(0))::value;
2233
2234
namespace detail {
2235
struct partially_ordered_with_concept {
2236
    template <typename T, typename U>
2237
    auto requires_(const std::remove_reference_t<T>& t,
2238
                   const std::remove_reference_t<U>& u)
2239
        -> decltype(requires_expr<boolean_testable<decltype(t < u)>>{},
2240
                    requires_expr<boolean_testable<decltype(t > u)>>{},
2241
                    requires_expr<boolean_testable<decltype(t <= u)>>{},
2242
                    requires_expr<boolean_testable<decltype(t >= u)>>{},
2243
                    requires_expr<boolean_testable<decltype(u < t)>>{},
2244
                    requires_expr<boolean_testable<decltype(u > t)>>{},
2245
                    requires_expr<boolean_testable<decltype(u <= t)>>{},
2246
                    requires_expr<boolean_testable<decltype(u >= t)>>{});
2247
};
2248
2249
template <typename T, typename U>
2250
inline constexpr bool partially_ordered_with =
2251
    detail::requires_<detail::partially_ordered_with_concept, T, U>;
2252
}  // namespace detail
2253
2254
template <typename T>
2255
inline constexpr bool totally_ordered =
2256
    equality_comparable<T> && detail::partially_ordered_with<T, T>;
2257
2258
namespace detail {
2259
struct totally_ordered_with_concept {
2260
    template <typename, typename>
2261
    static auto test(long) -> std::false_type;
2262
2263
    template <typename T, typename U>
2264
    static auto test(int)
2265
        -> std::enable_if_t<totally_ordered<T> && totally_ordered<U> &&
2266
                                equality_comparable_with<T, U> &&
2267
#if 0
2268
                                totally_ordered<common_reference_t<
2269
                                    const std::remove_reference_t<T>&,
2270
                                    const std::remove_reference_t<U>&>> &&
2271
#endif
2272
                                partially_ordered_with<T, U>,
2273
                            std::true_type>;
2274
};
2275
}  // namespace detail
2276
2277
template <typename T, typename U>
2278
inline constexpr bool totally_ordered_with =
2279
    decltype(detail::totally_ordered_with_concept::test<T, U>(0))::value;
2280
2281
namespace detail {
2282
struct movable_concept {
2283
    template <typename T>
2284
    static auto test(long) -> std::false_type;
2285
2286
    template <typename T>
2287
    static auto test(int) -> std::enable_if_t<
2288
        std::is_object_v<T> && std::is_move_constructible_v<T> &&
2289
            std::is_move_assignable_v<T> && std::is_swappable_v<T>,
2290
        std::true_type>;
2291
};
2292
}  // namespace detail
2293
2294
template <typename T>
2295
inline constexpr bool movable =
2296
    decltype(detail::movable_concept::test<T>(0))::value;
2297
2298
namespace detail {
2299
struct copyable_concept {
2300
    template <typename>
2301
    static auto test(long) -> std::false_type;
2302
2303
    template <typename T>
2304
    static auto test(int)
2305
        -> std::enable_if_t<std::is_copy_constructible_v<T> && movable<T> &&
2306
                                std::is_copy_assignable_v<T>,
2307
                            std::true_type>;
2308
};
2309
}  // namespace detail
2310
2311
template <typename T>
2312
inline constexpr bool copyable =
2313
    decltype(detail::copyable_concept::test<T>(0))::value;
2314
2315
template <typename T>
2316
inline constexpr bool semiregular =
2317
    copyable<T> && std::is_default_constructible_v<T>;
2318
2319
template <typename T>
2320
inline constexpr bool regular = semiregular<T> && equality_comparable<T>;
2321
2322
template <typename>
2323
struct incrementable_traits;
2324
2325
namespace detail {
2326
struct empty {};
2327
2328
template <typename T>
2329
struct with_difference_type {
2330
    using difference_type = T;
2331
};
2332
2333
template <typename, typename = void>
2334
struct incrementable_traits_helper {};
2335
2336
// Workaround for GCC silliness: void* has no difference_type
2337
// FIXME: This is required to stop WeaklyIncrementable<void*> being a hard
2338
// error Can we formulate the concept differently to avoid the need for this
2339
// hack?
2340
template <>
2341
struct incrementable_traits_helper<void*> {};
2342
2343
template <typename T>
2344
struct incrementable_traits_helper<T*>
2345
    : detail::conditional_t<std::is_object_v<T>,
2346
                            with_difference_type<std::ptrdiff_t>,
2347
                            empty> {};
2348
2349
template <class I>
2350
struct incrementable_traits_helper<const I>
2351
    : incrementable_traits<std::decay_t<I>> {};
2352
2353
template <typename, typename = void>
2354
struct has_member_difference_type : std::false_type {};
2355
2356
template <typename T>
2357
struct has_member_difference_type<T, std::void_t<typename T::difference_type>>
2358
    : std::true_type {};
2359
2360
template <typename T>
2361
constexpr bool has_member_difference_type_v =
2362
    has_member_difference_type<T>::value;
2363
2364
template <typename T>
2365
struct incrementable_traits_helper<
2366
    T,
2367
    std::enable_if_t<has_member_difference_type_v<T>>> {
2368
    using difference_type = typename T::difference_type;
2369
};
2370
2371
template <typename T, typename = void>
2372
struct subtraction_result_type {
2373
    using type = void;
2374
};
2375
template <typename T>
2376
struct subtraction_result_type<
2377
    T,
2378
    std::void_t<decltype(std::declval<const T&>() -
2379
                         std::declval<const T&>())>> {
2380
    using type = decltype(std::declval<const T&>() - std::declval<const T&>());
2381
};
2382
2383
template <typename T>
2384
inline constexpr bool enable_incrtraits_subtractable =
2385
    !std::is_pointer_v<T> && !has_member_difference_type_v<T> &&
2386
    std::is_integral_v<typename subtraction_result_type<T>::type>;
2387
2388
template <typename T>
2389
struct incrementable_traits_helper<
2390
    T,
2391
    std::enable_if_t<enable_incrtraits_subtractable<T>>>
2392
    : with_difference_type<
2393
          std::make_signed_t<typename subtraction_result_type<T>::type>> {};
2394
}  // namespace detail
2395
2396
template <typename T>
2397
struct incrementable_traits : detail::incrementable_traits_helper<T> {};
2398
2399
template <typename T>
2400
using iter_difference_t = typename incrementable_traits<T>::difference_type;
2401
2402
template <typename>
2403
struct readable_traits;
2404
2405
namespace detail {
2406
template <typename T>
2407
struct with_value_type {
2408
    using value_type = T;
2409
};
2410
2411
template <typename, typename = void>
2412
struct readable_traits_helper {};
2413
2414
template <typename T>
2415
struct readable_traits_helper<T*>
2416
    : detail::conditional_t<std::is_object_v<T>,
2417
                            with_value_type<std::remove_cv_t<T>>,
2418
                            empty> {};
2419
2420
template <typename I>
2421
struct readable_traits_helper<I, std::enable_if_t<std::is_array_v<I>>>
2422
    : readable_traits<std::decay_t<I>> {};
2423
2424
template <typename I>
2425
struct readable_traits_helper<const I, std::enable_if_t<!std::is_array_v<I>>>
2426
    : readable_traits<std::decay_t<I>> {};
2427
2428
template <typename T, typename V = typename T::value_type>
2429
struct member_value_type
2430
    : detail::conditional_t<std::is_object_v<V>, with_value_type<V>, empty> {};
2431
2432
template <typename T, typename E = typename T::element_type>
2433
struct member_element_type
2434
    : detail::conditional_t<std::is_object_v<E>,
2435
                            with_value_type<std::remove_cv_t<E>>,
2436
                            empty> {};
2437
2438
template <typename T>
2439
using member_value_type_t = typename T::value_type;
2440
2441
template <typename T>
2442
constexpr bool has_member_value_type_v = exists_v<member_value_type_t, T>;
2443
2444
template <typename T>
2445
using member_element_type_t = typename T::element_type;
2446
2447
template <typename T>
2448
constexpr bool has_member_element_type_v = exists_v<member_element_type_t, T>;
2449
2450
template <typename T>
2451
struct readable_traits_helper<T,
2452
                              std::enable_if_t<has_member_value_type_v<T> &&
2453
                                               !has_member_element_type_v<T>>>
2454
    : member_value_type<T> {};
2455
2456
template <typename T>
2457
struct readable_traits_helper<T,
2458
                              std::enable_if_t<has_member_element_type_v<T> &&
2459
                                               !has_member_value_type_v<T>>>
2460
    : member_element_type<T> {};
2461
2462
// A type which has both value_type and element_type members must specialise
2463
// readable_traits to tell us which one to prefer -- see
2464
// https://github.com/ericniebler/stl2/issues/562
2465
template <typename T>
2466
struct readable_traits_helper<T,
2467
                              std::enable_if_t<has_member_element_type_v<T> &&
2468
                                               has_member_value_type_v<T>>> {};
2469
}  // namespace detail
2470
2471
template <typename T>
2472
struct readable_traits : detail::readable_traits_helper<T> {};
2473
2474
template <typename T>
2475
using iter_value_t = typename readable_traits<T>::value_type;
2476
2477
namespace detail {
2478
template <typename T>
2479
using with_reference = T&;
2480
2481
struct can_reference_concept {
2482
    template <typename T>
2483
    auto requires_() -> with_reference<T>;
2484
};
2485
2486
template <typename T>
2487
inline constexpr bool can_reference =
2488
    detail::requires_<can_reference_concept, T>;
2489
2490
struct dereferencable_concept {
2491
    template <typename T>
2492
    auto requires_(T& t)
2493
        -> decltype(requires_expr<can_reference<decltype(*t)>>{});
2494
};
2495
2496
template <typename T>
2497
inline constexpr bool dereferenceable = requires_<dereferencable_concept, T>;
2498
2499
// GCC and Clang allow dereferencing void* as an extension.
2500
// Let's kill that off now.
2501
2502
template <>
2503
inline constexpr bool dereferenceable<void*> = false;
2504
}  // namespace detail
2505
2506
using std::bidirectional_iterator_tag;
2507
using std::forward_iterator_tag;
2508
using std::input_iterator_tag;
2509
using std::output_iterator_tag;
2510
using std::random_access_iterator_tag;
2511
2512
#if SCN_STD >= SCN_STD_20 && defined(__cpp_lib_ranges) && \
2513
    __cpp_lib_ranges >= 201911L
2514
using std::contiguous_iterator_tag;
2515
#else
2516
struct contiguous_iterator_tag : random_access_iterator_tag {};
2517
#endif
2518
2519
template <typename T>
2520
struct iterator_category;
2521
2522
namespace detail {
2523
template <typename T, typename = void>
2524
struct iterator_category_ {};
2525
template <typename T>
2526
struct iterator_category_<T*>
2527
    : std::enable_if<std::is_object_v<T>, contiguous_iterator_tag> {};
2528
template <typename T>
2529
struct iterator_category_<const T> : iterator_category<T> {};
2530
template <typename T>
2531
struct iterator_category_<T, std::void_t<typename T::iterator_category>> {
2532
    using type = typename T::iterator_category;
2533
};
2534
}  // namespace detail
2535
2536
template <typename T>
2537
struct iterator_category : detail::iterator_category_<T> {};
2538
template <typename T>
2539
using iterator_category_t = typename iterator_category<T>::type;
2540
2541
namespace detail {
2542
2543
template <typename T, typename = void>
2544
struct legacy_iterator_category : iterator_category<T> {};
2545
2546
template <typename T>
2547
struct legacy_iterator_category<
2548
    T,
2549
    std::enable_if_t<
2550
        std::is_same_v<iterator_category_t<T>, contiguous_iterator_tag>>> {
2551
    using type = random_access_iterator_tag;
2552
};
2553
2554
template <typename T>
2555
using legacy_iterator_category_t = typename legacy_iterator_category<T>::type;
2556
2557
}  // namespace detail
2558
2559
template <typename T>
2560
using iter_reference_t =
2561
    std::enable_if_t<detail::dereferenceable<T>, decltype(*std::declval<T&>())>;
2562
2563
namespace detail {
2564
2565
struct readable_concept {
2566
    template <typename In>
2567
    auto requires_() -> decltype(std::declval<iter_value_t<In>>(),
2568
                                 std::declval<iter_reference_t<In>>());
2569
    // std::declval<iter_rvalue_reference_t<In>>());
2570
2571
    template <typename>
2572
    static auto test(long) -> std::false_type;
2573
2574
    template <typename In>
2575
    static auto test(int)
2576
        -> std::enable_if_t<detail::requires_<readable_concept, In>,
2577
#if 0
2578
            common_reference_with<iter_reference_t<In>&&, iter_value_t<In>&> &&
2579
            common_reference_with<iter_reference_t<In>&&,
2580
                                  iter_rvalue_reference_t<In>&&> &&
2581
            common_reference_with<iter_rvalue_reference_t<In>&&,
2582
                                  const iter_value_t<In>&>,
2583
#endif
2584
                            std::true_type>;
2585
};
2586
2587
}  // namespace detail
2588
2589
template <typename In>
2590
inline constexpr bool readable =
2591
    decltype(detail::readable_concept::test<In>(0))::value;
2592
2593
namespace detail {
2594
2595
struct writable_concept {
2596
    template <typename Out, typename T>
2597
    auto requires_(Out&& o, T&& t)
2598
        -> decltype(*o = std::forward<T>(t),
2599
                    *std::forward<Out>(o) = std::forward<T>(t),
2600
                    const_cast<const iter_reference_t<Out>&&>(*o) =
2601
                        std::forward<T>(t),
2602
                    const_cast<const iter_reference_t<Out>&&>(
2603
                        *std::forward<Out>(o)) = std::forward<T>(t));
2604
};
2605
2606
}  // namespace detail
2607
2608
template <typename Out, typename T>
2609
inline constexpr bool writable =
2610
    detail::requires_<detail::writable_concept, Out, T>;
2611
2612
namespace detail {
2613
2614
template <typename T>
2615
inline constexpr bool is_integer_like = std::is_integral_v<T>;
2616
2617
template <typename T>
2618
inline constexpr bool is_signed_integer_like =
2619
    std::is_integral_v<T> && std::is_signed_v<T>;
2620
2621
struct weakly_incrementable_concept {
2622
    template <typename I>
2623
    auto requires_(I i)
2624
        -> decltype(std::declval<iter_difference_t<I>>(),
2625
                    requires_expr<
2626
                        is_signed_integer_like<iter_difference_t<I>>>{},
2627
                    requires_expr<std::is_same_v<decltype(++i), I&>>{},
2628
                    i++);
2629
};
2630
2631
}  // namespace detail
2632
2633
template <typename I>
2634
inline constexpr bool weakly_incrementable =
2635
    std::is_default_constructible_v<I> && movable<I> &&
2636
    detail::requires_<detail::weakly_incrementable_concept, I>;
2637
2638
namespace detail {
2639
2640
struct incrementable_concept {
2641
    template <typename I>
2642
    auto requires_(I i)
2643
        -> decltype(requires_expr<std::is_same_v<decltype(i++), I>>{});
2644
};
2645
2646
}  // namespace detail
2647
2648
template <typename I>
2649
inline constexpr bool incrementable =
2650
    regular<I> && weakly_incrementable<I> &&
2651
    detail::requires_<detail::incrementable_concept, I>;
2652
2653
namespace detail {
2654
2655
struct input_or_output_iterator_concept {
2656
    template <typename I>
2657
    auto requires_(I i)
2658
        -> decltype(requires_expr<can_reference<decltype(*i)>>{});
2659
};
2660
2661
}  // namespace detail
2662
2663
template <typename I>
2664
inline constexpr bool input_or_output_iterator =
2665
    detail::requires_<detail::input_or_output_iterator_concept, I> &&
2666
    weakly_incrementable<I>;
2667
2668
template <typename S, typename I>
2669
inline constexpr bool sentinel_for =
2670
    semiregular<S> && input_or_output_iterator<I> &&
2671
    detail::weakly_equality_comparable_with<S, I>;
2672
2673
template <typename S, typename I>
2674
inline constexpr bool disable_sized_sentinel = false;
2675
2676
namespace detail {
2677
2678
struct sized_sentinel_for_concept {
2679
    template <typename S, typename I>
2680
    auto requires_(const S& s, const I& i)
2681
        -> decltype(requires_expr<std::is_same_v<decltype(s - i),
2682
                                                 iter_difference_t<I>>>{},
2683
                    requires_expr<std::is_same_v<decltype(i - s),
2684
                                                 iter_difference_t<I>>>{});
2685
};
2686
2687
}  // namespace detail
2688
2689
template <typename S, typename I>
2690
inline constexpr bool sized_sentinel_for =
2691
    sentinel_for<S, I> &&
2692
    !disable_sized_sentinel<std::remove_cv_t<S>, std::remove_cv_t<I>> &&
2693
    detail::requires_<detail::sized_sentinel_for_concept, S, I>;
2694
2695
// This is a hack, but I'm fed up with my tests breaking because GCC
2696
// has a silly extension
2697
template <typename S>
2698
inline constexpr bool sized_sentinel_for<S, void*> = false;
2699
2700
template <typename I>
2701
inline constexpr bool sized_sentinel_for<void*, I> = false;
2702
2703
template <>
2704
inline constexpr bool sized_sentinel_for<void*, void*> = false;
2705
2706
namespace detail {
2707
2708
// FIXME: Use ITER_CONCEPT, not iterator_category_t
2709
struct input_iterator_concept {
2710
    template <typename I>
2711
    auto requires_() -> iterator_category_t<I>;
2712
2713
    template <typename>
2714
    static auto test(long) -> std::false_type;
2715
2716
    template <typename I>
2717
    static auto test(int) -> std::enable_if_t<
2718
        input_or_output_iterator<I> && readable<I> &&
2719
            detail::requires_<input_iterator_concept, I> &&
2720
            std::is_base_of_v<input_iterator_tag, iterator_category_t<I>>,
2721
        std::true_type>;
2722
};
2723
2724
}  // namespace detail
2725
2726
template <typename I>
2727
inline constexpr bool input_iterator =
2728
    decltype(detail::input_iterator_concept::test<I>(0))::value;
2729
2730
namespace detail {
2731
2732
struct output_iterator_concept {
2733
    template <typename I, typename T>
2734
    auto requires_(I i, T&& t) -> decltype(*i++ = std::forward<T>(t));
2735
};
2736
2737
}  // namespace detail
2738
2739
template <typename I, typename T>
2740
inline constexpr bool output_iterator =
2741
    input_or_output_iterator<I> && writable<I, T> &&
2742
    detail::requires_<detail::output_iterator_concept, I, T>;
2743
2744
namespace detail {
2745
2746
struct forward_iterator_concept {
2747
    template <typename>
2748
    static auto test(long) -> std::false_type;
2749
2750
    template <typename I>
2751
    static auto test(int) -> std::enable_if_t<
2752
        input_iterator<I> &&
2753
            std::is_base_of_v<forward_iterator_tag, iterator_category_t<I>> &&
2754
            incrementable<I> && sentinel_for<I, I>,
2755
        std::true_type>;
2756
};
2757
2758
}  // namespace detail
2759
2760
template <typename I>
2761
inline constexpr bool forward_iterator =
2762
    decltype(detail::forward_iterator_concept::test<I>(0))::value;
2763
2764
namespace detail {
2765
2766
struct bidirectional_iterator_concept {
2767
    template <typename I>
2768
    auto requires_(I i)
2769
        -> decltype(requires_expr<std::is_same_v<decltype(--i), I&>>{},
2770
                    requires_expr<std::is_same_v<decltype(i--), I>>{});
2771
2772
    template <typename>
2773
    static auto test(long) -> std::false_type;
2774
2775
    template <typename I>
2776
    static auto test(int) -> std::enable_if_t<
2777
        forward_iterator<I> &&
2778
            std::is_base_of_v<bidirectional_iterator_tag,
2779
                              iterator_category_t<I>> &&
2780
            detail::requires_<bidirectional_iterator_concept, I>,
2781
        std::true_type>;
2782
};
2783
2784
}  // namespace detail
2785
2786
template <typename I>
2787
inline constexpr bool bidirectional_iterator =
2788
    decltype(detail::bidirectional_iterator_concept::test<I>(0))::value;
2789
2790
namespace detail {
2791
2792
struct random_access_iterator_concept {
2793
    template <typename>
2794
    static auto test(long) -> std::false_type;
2795
2796
    template <typename I>
2797
    static auto test(int) -> std::enable_if_t<
2798
        bidirectional_iterator<I> &&
2799
            std::is_base_of_v<random_access_iterator_tag,
2800
                              iterator_category_t<I>> &&
2801
            totally_ordered<I> && sized_sentinel_for<I, I> &&
2802
            detail::requires_<random_access_iterator_concept, I>,
2803
        std::true_type>;
2804
2805
    template <typename I>
2806
    auto requires_(I i, const I j, const iter_difference_t<I> n)
2807
        -> decltype(requires_expr<std::is_same_v<decltype(i += n), I&>>{},
2808
                    requires_expr<std::is_same_v<decltype(j + n), I>>{},
2809
#ifndef _MSC_VER
2810
                    requires_expr<std::is_same_v<decltype(n + j),
2811
                                                 I>>{},  // FIXME: MSVC doesn't
2812
                                                         // like this when I =
2813
                                                         // int*
2814
#endif
2815
                    requires_expr<std::is_same_v<decltype(i -= n), I&>>{},
2816
                    requires_expr<std::is_same_v<decltype(j - n), I>>{},
2817
                    requires_expr<
2818
                        std::is_same_v<decltype(j[n]), iter_reference_t<I>>>{});
2819
};
2820
2821
}  // namespace detail
2822
2823
template <typename I>
2824
inline constexpr bool random_access_iterator =
2825
    decltype(detail::random_access_iterator_concept::test<I>(0))::value;
2826
2827
namespace detail {
2828
2829
struct contiguous_iterator_concept {
2830
    template <typename>
2831
    static auto test(long) -> std::false_type;
2832
2833
    template <typename I>
2834
    static auto test(int) -> std::enable_if_t<
2835
        random_access_iterator<I> &&
2836
            /*std::is_base_of_v<contiguous_iterator_tag,
2837
                              iterator_category_t<I>> &&*/
2838
            detail::can_make_address_from_iterator<I> &&
2839
            std::is_lvalue_reference_v<iter_reference_t<I>> &&
2840
            std::is_same_v<iter_value_t<I>,
2841
                           remove_cvref_t<iter_reference_t<I>>>,
2842
        std::true_type>;
2843
};
2844
2845
}  // namespace detail
2846
2847
template <typename I>
2848
inline constexpr bool contiguous_iterator =
2849
    decltype(detail::contiguous_iterator_concept::test<I>(0))::value;
2850
2851
namespace detail::begin_ {
2852
2853
template <typename T>
2854
void begin(T&) = delete;
2855
template <typename T>
2856
void begin(const T&) = delete;
2857
2858
struct fn {
2859
private:
2860
    template <typename T,
2861
              std::enable_if_t<!std::is_lvalue_reference_v<T> &&
2862
                               !enable_borrowed_range<std::remove_cv_t<T>>>* =
2863
                  nullptr>
2864
    static constexpr void impl(T&&, priority_tag<3>) = delete;
2865
2866
    template <typename T,
2867
              std::enable_if_t<std::is_array_v<remove_cvref_t<T>>>* = nullptr>
2868
    static constexpr auto impl(T&& t, priority_tag<2>) noexcept
2869
        -> decltype(t + 0)
2870
    {
2871
        static_assert(ranges::input_or_output_iterator<decltype(t + 0)>);
2872
        return t + 0;
2873
    }
2874
2875
    template <typename T>
2876
    static constexpr auto impl(T&& t, priority_tag<1>) noexcept(
2877
        noexcept(decay_copy(SCN_FWD(t).begin())))
2878
        -> std::enable_if_t<
2879
            input_or_output_iterator<decltype(decay_copy(SCN_FWD(t).begin()))>,
2880
            decltype(decay_copy(SCN_FWD(t).begin()))>
2881
5.41M
    {
2882
5.41M
        return decay_copy(t.begin());
2883
5.41M
    }
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<std::__1::basic_string_view<char, std::__1::char_traits<char> >&>(std::__1::basic_string_view<char, std::__1::char_traits<char> >&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2881
87.3k
    {
2882
87.3k
        return decay_copy(t.begin());
2883
87.3k
    }
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> const&>(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> const&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2881
814k
    {
2882
814k
        return decay_copy(t.begin());
2883
814k
    }
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&>(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2881
2.13M
    {
2882
2.13M
        return decay_copy(t.begin());
2883
2.13M
    }
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<std::__1::deque<char, std::__1::allocator<char> > const&>(std::__1::deque<char, std::__1::allocator<char> > const&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2881
86.6k
    {
2882
86.6k
        return decay_copy(t.begin());
2883
86.6k
    }
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > const&>(scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > const&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2881
812k
    {
2882
812k
        return decay_copy(t.begin());
2883
812k
    }
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >&>(scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2881
362k
    {
2882
362k
        return decay_copy(t.begin());
2883
362k
    }
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2881
174k
    {
2882
174k
        return decay_copy(t.begin());
2883
174k
    }
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const&>(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2881
179k
    {
2882
179k
        return decay_copy(t.begin());
2883
179k
    }
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&>(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2881
412k
    {
2882
412k
        return decay_copy(t.begin());
2883
412k
    }
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<std::__1::deque<wchar_t, std::__1::allocator<wchar_t> > const&>(std::__1::deque<wchar_t, std::__1::allocator<wchar_t> > const&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2881
173k
    {
2882
173k
        return decay_copy(t.begin());
2883
173k
    }
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > const&>(scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > const&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2881
179k
    {
2882
179k
        return decay_copy(t.begin());
2883
179k
    }
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >&>(scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2881
3.09k
    {
2882
3.09k
        return decay_copy(t.begin());
2883
3.09k
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >&>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >&>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> > const&>(scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> > const&, scn::v4::detail::priority_tag<1ul>)
2884
2885
    template <typename T>
2886
    static constexpr auto impl(T&& t, priority_tag<0>) noexcept(
2887
        noexcept(decay_copy(begin(SCN_FWD(t)))))
2888
        -> std::enable_if_t<
2889
            input_or_output_iterator<decltype(decay_copy(begin(SCN_FWD(t))))>,
2890
            decltype(decay_copy(begin(SCN_FWD(t))))>
2891
    {
2892
        return decay_copy(begin(SCN_FWD(t)));
2893
    }
2894
2895
public:
2896
    template <typename T>
2897
    constexpr auto operator()(T&& t) const
2898
        noexcept(noexcept(fn::impl(SCN_FWD(t), priority_tag<3>{})))
2899
            -> decltype(fn::impl(SCN_FWD(t), priority_tag<3>{}))
2900
5.41M
    {
2901
5.41M
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2902
5.41M
    }
_ZNK3scn2v46ranges6detail6begin_2fnclIRNSt3__117basic_string_viewIcNS6_11char_traitsIcEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2900
87.3k
    {
2901
87.3k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2902
87.3k
    }
_ZNK3scn2v46ranges6detail6begin_2fnclIRKNS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2900
814k
    {
2901
814k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2902
814k
    }
_ZNK3scn2v46ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2900
2.13M
    {
2901
2.13M
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2902
2.13M
    }
_ZNK3scn2v46ranges6detail6begin_2fnclIRKNSt3__15dequeIcNS6_9allocatorIcEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2900
86.6k
    {
2901
86.6k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2902
86.6k
    }
_ZNK3scn2v46ranges6detail6begin_2fnclIRKNS2_9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRSA_PKSB_lLl4096EEESF_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2900
812k
    {
2901
812k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2902
812k
    }
_ZNK3scn2v46ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRSA_PKSB_lLl4096EEESF_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2900
362k
    {
2901
362k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2902
362k
    }
_ZNK3scn2v46ranges6detail6begin_2fnclIRNSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2900
174k
    {
2901
174k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2902
174k
    }
_ZNK3scn2v46ranges6detail6begin_2fnclIRKNS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2900
179k
    {
2901
179k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2902
179k
    }
_ZNK3scn2v46ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2900
412k
    {
2901
412k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2902
412k
    }
_ZNK3scn2v46ranges6detail6begin_2fnclIRKNSt3__15dequeIwNS6_9allocatorIwEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2900
173k
    {
2901
173k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2902
173k
    }
_ZNK3scn2v46ranges6detail6begin_2fnclIRKNS2_9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRSA_PKSB_lLl1024EEESF_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2900
179k
    {
2901
179k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2902
179k
    }
_ZNK3scn2v46ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRSA_PKSB_lLl1024EEESF_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2900
3.09k
    {
2901
3.09k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2902
3.09k
    }
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEESG_EEEEDTclsr2fnE4implscDtfp_Efp_tlNSB_12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EESD_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEENS8_15take_width_viewINS7_ISE_SF_EEE8sentinelILb1EEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNSB_12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS8_12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS8_15take_width_viewINS7_ISC_SC_EEE8sentinelILb1EEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEESG_EEEEDTclsr2fnE4implscDtfp_Efp_tlNSB_12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EESD_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEENS8_15take_width_viewINS7_ISE_SF_EEE8sentinelILb1EEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNSB_12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS8_12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS8_15take_width_viewINS7_ISC_SC_EEE8sentinelILb1EEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6begin_2fnclINS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6begin_2fnclINS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6begin_2fnclIRKNS2_9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS8_12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6begin_2fnclIRNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6begin_2fnclIRKNS2_9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS8_12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6begin_2fnclIRKNS2_9subrange_8subrangeINSt3__111__wrap_iterIPcEESB_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
2903
};
2904
2905
}  // namespace detail::begin_
2906
2907
inline constexpr auto begin = detail::begin_::fn{};
2908
2909
namespace detail::end_ {
2910
2911
template <typename T>
2912
void end(T&) = delete;
2913
template <typename T>
2914
void end(const T&) = delete;
2915
2916
struct fn {
2917
private:
2918
    template <typename T,
2919
              std::enable_if_t<!std::is_lvalue_reference_v<T> &&
2920
                               !enable_borrowed_range<std::remove_cv_t<T>>>* =
2921
                  nullptr>
2922
    static constexpr void impl(T&&, priority_tag<3>) = delete;
2923
2924
    template <typename T,
2925
              std::enable_if_t<std::is_array_v<remove_cvref_t<T>>>* = nullptr>
2926
    static constexpr auto impl(T&& t, priority_tag<2>) noexcept
2927
        -> decltype(t + std::extent_v<remove_cvref_t<T>>)
2928
    {
2929
        return t + std::extent_v<remove_cvref_t<T>>;
2930
    }
2931
2932
    template <typename T,
2933
              typename S = decltype(decay_copy(SCN_DECLVAL(T).end())),
2934
              typename I = decltype(::scn::ranges::begin(SCN_DECLVAL(T)))>
2935
    static constexpr auto impl(T&& t, priority_tag<1>) noexcept(
2936
        noexcept(decay_copy(SCN_FWD(t).end())))
2937
        -> std::enable_if_t<sentinel_for<S, I>,
2938
                            decltype(decay_copy(SCN_FWD(t).end()))>
2939
112M
    {
2940
112M
        return decay_copy(SCN_FWD(t).end());
2941
112M
    }
std::__1::enable_if<sentinel_for<char const*, char const*>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<std::__1::basic_string_view<char, std::__1::char_traits<char> >&, char const*, char const*>(std::__1::basic_string_view<char, std::__1::char_traits<char> >&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2939
901k
    {
2940
901k
        return decay_copy(SCN_FWD(t).end());
2941
901k
    }
std::__1::enable_if<sentinel_for<char const*, char const*>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&, char const*, char const*>(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2939
363k
    {
2940
363k
        return decay_copy(SCN_FWD(t).end());
2941
363k
    }
std::__1::enable_if<sentinel_for<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<std::__1::deque<char, std::__1::allocator<char> > const&, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >(std::__1::deque<char, std::__1::allocator<char> > const&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2939
898k
    {
2940
898k
        return decay_copy(SCN_FWD(t).end());
2941
898k
    }
std::__1::enable_if<sentinel_for<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > const&, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >(scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > const&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2939
6.69M
    {
2940
6.69M
        return decay_copy(SCN_FWD(t).end());
2941
6.69M
    }
std::__1::enable_if<sentinel_for<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >&, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >(scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2939
362k
    {
2940
362k
        return decay_copy(SCN_FWD(t).end());
2941
362k
    }
std::__1::enable_if<sentinel_for<wchar_t const*, wchar_t const*>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, wchar_t const*, wchar_t const*>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2939
354k
    {
2940
354k
        return decay_copy(SCN_FWD(t).end());
2941
354k
    }
std::__1::enable_if<sentinel_for<wchar_t const*, wchar_t const*>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&, wchar_t const*, wchar_t const*>(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2939
3.09k
    {
2940
3.09k
        return decay_copy(SCN_FWD(t).end());
2941
3.09k
    }
std::__1::enable_if<sentinel_for<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<std::__1::deque<wchar_t, std::__1::allocator<wchar_t> > const&, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >(std::__1::deque<wchar_t, std::__1::allocator<wchar_t> > const&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2939
352k
    {
2940
352k
        return decay_copy(SCN_FWD(t).end());
2941
352k
    }
std::__1::enable_if<sentinel_for<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > const&, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >(scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > const&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2939
102M
    {
2940
102M
        return decay_copy(SCN_FWD(t).end());
2941
102M
    }
std::__1::enable_if<sentinel_for<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >&, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >(scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2939
3.09k
    {
2940
3.09k
        return decay_copy(SCN_FWD(t).end());
2941
3.09k
    }
Unexecuted instantiation: std::__1::enable_if<sentinel_for<char const*, char const*>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> const&, char const*, char const*>(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> const&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<sentinel_for<wchar_t const*, wchar_t const*>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const&, wchar_t const*, wchar_t const*>(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<sentinel_for<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<sentinel_for<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<sentinel_for<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<sentinel_for<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<sentinel_for<scn::v4::ranges::default_sentinel_t, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, scn::v4::ranges::default_sentinel_t, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<sentinel_for<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<sentinel_for<scn::v4::ranges::default_sentinel_t, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, scn::v4::ranges::default_sentinel_t, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<sentinel_for<scn::v4::ranges::default_sentinel_t, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, scn::v4::ranges::default_sentinel_t, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<sentinel_for<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> > const&, std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >(scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> > const&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<sentinel_for<scn::v4::ranges::default_sentinel_t, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, scn::v4::ranges::default_sentinel_t, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, scn::v4::detail::priority_tag<1ul>)
2942
2943
    template <typename T,
2944
              typename S = decltype(decay_copy(end(SCN_DECLVAL(T)))),
2945
              typename I = decltype(::scn::ranges::begin(SCN_DECLVAL(T)))>
2946
    static constexpr auto impl(T&& t, priority_tag<0>) noexcept(noexcept(
2947
        decay_copy(end(SCN_FWD(t))))) -> std::enable_if_t<sentinel_for<S, I>, S>
2948
    {
2949
        return decay_copy(end(SCN_FWD(t)));
2950
    }
2951
2952
public:
2953
    template <typename T>
2954
    constexpr auto operator()(T&& t) const
2955
        noexcept(noexcept(fn::impl(SCN_FWD(t), priority_tag<3>{})))
2956
            -> decltype(fn::impl(SCN_FWD(t), priority_tag<3>{}))
2957
112M
    {
2958
112M
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2959
112M
    }
_ZNK3scn2v46ranges6detail4end_2fnclIRNSt3__117basic_string_viewIcNS6_11char_traitsIcEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2957
901k
    {
2958
901k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2959
901k
    }
_ZNK3scn2v46ranges6detail4end_2fnclIRNS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2957
363k
    {
2958
363k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2959
363k
    }
_ZNK3scn2v46ranges6detail4end_2fnclIRKNSt3__15dequeIcNS6_9allocatorIcEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2957
898k
    {
2958
898k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2959
898k
    }
_ZNK3scn2v46ranges6detail4end_2fnclIRKNS2_9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRSA_PKSB_lLl4096EEESF_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2957
6.69M
    {
2958
6.69M
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2959
6.69M
    }
_ZNK3scn2v46ranges6detail4end_2fnclIRNS2_9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRSA_PKSB_lLl4096EEESF_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2957
362k
    {
2958
362k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2959
362k
    }
_ZNK3scn2v46ranges6detail4end_2fnclIRNSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2957
354k
    {
2958
354k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2959
354k
    }
_ZNK3scn2v46ranges6detail4end_2fnclIRNS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2957
3.09k
    {
2958
3.09k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2959
3.09k
    }
_ZNK3scn2v46ranges6detail4end_2fnclIRKNSt3__15dequeIwNS6_9allocatorIwEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2957
352k
    {
2958
352k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2959
352k
    }
_ZNK3scn2v46ranges6detail4end_2fnclIRKNS2_9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRSA_PKSB_lLl1024EEESF_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2957
102M
    {
2958
102M
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2959
102M
    }
_ZNK3scn2v46ranges6detail4end_2fnclIRNS2_9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRSA_PKSB_lLl1024EEESF_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2957
3.09k
    {
2958
3.09k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2959
3.09k
    }
Unexecuted instantiation: _ZNK3scn2v46ranges6detail4end_2fnclIRKNS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail4end_2fnclIRKNS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail4end_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEESG_EEEEDTclsr2fnE4implscDtfp_Efp_tlNSB_12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail4end_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EESD_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail4end_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEESG_EEEEDTclsr2fnE4implscDtfp_Efp_tlNSB_12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail4end_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EESD_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail4end_2fnclIRNS2_9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS8_12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail4end_2fnclIRNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail4end_2fnclIRNS2_9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS8_12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail4end_2fnclIRKNS2_9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS8_12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail4end_2fnclIRKNS2_9subrange_8subrangeINSt3__111__wrap_iterIPcEESB_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail4end_2fnclIRKNS2_9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS8_12priority_tagILm3EEEEEEOT_
2960
};
2961
2962
}  // namespace detail::end_
2963
2964
inline constexpr auto end = detail::end_::fn{};
2965
2966
namespace detail {
2967
struct range_concept {
2968
    template <typename T>
2969
    auto requires_(T& t) -> decltype(ranges::begin(t), ranges::end(t));
2970
};
2971
}  // namespace detail
2972
2973
template <typename T>
2974
inline constexpr bool range = detail::requires_<detail::range_concept, T>;
2975
2976
template <typename T>
2977
using iterator_t = decltype(ranges::begin(std::declval<T&>()));
2978
2979
template <typename R>
2980
using sentinel_t =
2981
    std::enable_if_t<range<R>, decltype(ranges::end(std::declval<R&>()))>;
2982
2983
template <typename R>
2984
using range_difference_t =
2985
    std::enable_if_t<range<R>, iter_difference_t<iterator_t<R>>>;
2986
2987
template <typename R>
2988
using range_value_t = std::enable_if_t<range<R>, iter_value_t<iterator_t<R>>>;
2989
2990
template <typename R>
2991
using range_reference_t =
2992
    std::enable_if_t<range<R>, iter_reference_t<iterator_t<R>>>;
2993
2994
namespace detail {
2995
template <typename, typename = void>
2996
inline constexpr bool is_object_pointer_v = false;
2997
template <typename P>
2998
inline constexpr bool
2999
    is_object_pointer_v<P,
3000
                        std::enable_if_t<std::is_pointer_v<P> &&
3001
                                         std::is_object_v<iter_value_t<P>>>> =
3002
        true;
3003
3004
namespace data_ {
3005
3006
struct fn {
3007
private:
3008
    template <typename T,
3009
              typename D = decltype(decay_copy(SCN_DECLVAL(T&).data()))>
3010
    static constexpr auto impl(T& t, priority_tag<1>) noexcept(noexcept(
3011
        decay_copy(t.data()))) -> std::enable_if_t<is_object_pointer_v<D>, D>
3012
2.48M
    {
3013
2.48M
        return t.data();
3014
2.48M
    }
std::__1::enable_if<is_object_pointer_v<char const*>, char const*>::type scn::v4::ranges::detail::data_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> const, char const*>(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> const&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
3012
450k
    {
3013
450k
        return t.data();
3014
450k
    }
std::__1::enable_if<is_object_pointer_v<wchar_t const*>, wchar_t const*>::type scn::v4::ranges::detail::data_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const, wchar_t const*>(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
3012
176k
    {
3013
176k
        return t.data();
3014
176k
    }
Unexecuted instantiation: std::__1::enable_if<is_object_pointer_v<char const*>, char const*>::type scn::v4::ranges::detail::data_::fn::impl<std::__1::basic_string_view<char, std::__1::char_traits<char> >, char const*>(std::__1::basic_string_view<char, std::__1::char_traits<char> >&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<is_object_pointer_v<wchar_t const*>, wchar_t const*>::type scn::v4::ranges::detail::data_::fn::impl<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, wchar_t const*>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, scn::v4::detail::priority_tag<1ul>)
std::__1::enable_if<is_object_pointer_v<char const*>, char const*>::type scn::v4::ranges::detail::data_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char const*>(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
3012
1.44M
    {
3013
1.44M
        return t.data();
3014
1.44M
    }
std::__1::enable_if<is_object_pointer_v<wchar_t const*>, wchar_t const*>::type scn::v4::ranges::detail::data_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t const*>(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
3012
409k
    {
3013
409k
        return t.data();
3014
409k
    }
3015
3016
    template <typename T>
3017
    static constexpr auto impl(T&& t, priority_tag<0>) noexcept(
3018
        noexcept(scn::ranges::begin(SCN_FWD(t))))
3019
        -> std::enable_if_t<
3020
            is_object_pointer_v<decltype(scn::ranges::begin(SCN_FWD(t)))>,
3021
            decltype(scn::ranges::begin(SCN_FWD(t)))>
3022
0
    {
3023
0
        return scn::ranges::begin(SCN_FWD(t));
3024
0
    }
Unexecuted instantiation: std::__1::enable_if<is_object_pointer_v<decltype (scn::v4::ranges::begin(static_cast<decltype ({parm#1})>({parm#1})))>, decltype (scn::v4::ranges::begin(static_cast<decltype ({parm#1})>({parm#1})))>::type scn::v4::ranges::detail::data_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&&, scn::v4::detail::priority_tag<0ul>)
Unexecuted instantiation: std::__1::enable_if<is_object_pointer_v<decltype (scn::v4::ranges::begin(static_cast<decltype ({parm#1})>({parm#1})))>, decltype (scn::v4::ranges::begin(static_cast<decltype ({parm#1})>({parm#1})))>::type scn::v4::ranges::detail::data_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&&, scn::v4::detail::priority_tag<0ul>)
3025
3026
public:
3027
    template <typename T>
3028
    constexpr auto operator()(T&& t) const
3029
        noexcept(noexcept(fn::impl(SCN_FWD(t), priority_tag<1>{})))
3030
            -> decltype(fn::impl(SCN_FWD(t), priority_tag<1>{}))
3031
2.48M
    {
3032
2.48M
        return fn::impl(SCN_FWD(t), priority_tag<1>{});
3033
2.48M
    }
_ZNK3scn2v46ranges6detail5data_2fnclIRKNS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm1EEEEEEOT_
Line
Count
Source
3031
450k
    {
3032
450k
        return fn::impl(SCN_FWD(t), priority_tag<1>{});
3033
450k
    }
_ZNK3scn2v46ranges6detail5data_2fnclIRKNS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm1EEEEEEOT_
Line
Count
Source
3031
176k
    {
3032
176k
        return fn::impl(SCN_FWD(t), priority_tag<1>{});
3033
176k
    }
Unexecuted instantiation: _ZNK3scn2v46ranges6detail5data_2fnclIRNSt3__117basic_string_viewIcNS6_11char_traitsIcEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm1EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail5data_2fnclIRNSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm1EEEEEEOT_
_ZNK3scn2v46ranges6detail5data_2fnclIRNS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm1EEEEEEOT_
Line
Count
Source
3031
1.44M
    {
3032
1.44M
        return fn::impl(SCN_FWD(t), priority_tag<1>{});
3033
1.44M
    }
_ZNK3scn2v46ranges6detail5data_2fnclIRNS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm1EEEEEEOT_
Line
Count
Source
3031
409k
    {
3032
409k
        return fn::impl(SCN_FWD(t), priority_tag<1>{});
3033
409k
    }
Unexecuted instantiation: _ZNK3scn2v46ranges6detail5data_2fnclINS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm1EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail5data_2fnclINS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm1EEEEEEOT_
3034
};
3035
3036
}  // namespace data_
3037
}  // namespace detail
3038
3039
inline constexpr auto data = detail::data_::fn{};
3040
3041
template <typename T>
3042
inline constexpr bool disable_sized_range = false;
3043
3044
namespace detail::size_ {
3045
3046
template <typename T>
3047
void size(T&&) = delete;
3048
template <typename T>
3049
void size(T&) = delete;
3050
3051
struct fn {
3052
private:
3053
    template <typename T, std::size_t N>
3054
    static constexpr std::size_t impl(const T (&&)[N], priority_tag<3>) noexcept
3055
    {
3056
        return N;
3057
    }
3058
3059
    template <typename T, std::size_t N>
3060
    static constexpr std::size_t impl(const T (&)[N], priority_tag<3>) noexcept
3061
    {
3062
        return N;
3063
    }
3064
3065
    template <typename T,
3066
              typename I = decltype(decay_copy(std::declval<T>().size()))>
3067
    static constexpr auto impl(T&& t, priority_tag<2>) noexcept(
3068
        noexcept(decay_copy(SCN_FWD(t).size())))
3069
        -> std::enable_if_t<std::is_integral_v<I> &&
3070
                                !disable_sized_range<remove_cvref_t<T>>,
3071
                            I>
3072
1.24M
    {
3073
1.24M
        return decay_copy(SCN_FWD(t).size());
3074
1.24M
    }
_ZN3scn2v46ranges6detail5size_2fn4implIRKNS2_9subrange_8subrangeIPKcS9_EEmEENSt3__19enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESF_E4typeEOSG_NS0_6detail12priority_tagILm2EEE
Line
Count
Source
3072
450k
    {
3073
450k
        return decay_copy(SCN_FWD(t).size());
3074
450k
    }
_ZN3scn2v46ranges6detail5size_2fn4implIRKNS2_9subrange_8subrangeIPKwS9_EEmEENSt3__19enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESF_E4typeEOSG_NS0_6detail12priority_tagILm2EEE
Line
Count
Source
3072
176k
    {
3073
176k
        return decay_copy(SCN_FWD(t).size());
3074
176k
    }
Unexecuted instantiation: _ZN3scn2v46ranges6detail5size_2fn4implIRNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEEmEENS6_9enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESF_E4typeEOSG_NS0_6detail12priority_tagILm2EEE
Unexecuted instantiation: _ZN3scn2v46ranges6detail5size_2fn4implIRNSt3__117basic_string_viewIcNS6_11char_traitsIcEEEEmEENS6_9enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESD_E4typeEOSE_NS0_6detail12priority_tagILm2EEE
Unexecuted instantiation: _ZN3scn2v46ranges6detail5size_2fn4implIRNSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEmEENS6_9enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESD_E4typeEOSE_NS0_6detail12priority_tagILm2EEE
Unexecuted instantiation: _ZN3scn2v46ranges6detail5size_2fn4implIRKNSt3__117basic_string_viewIcNS6_11char_traitsIcEEEEmEENS6_9enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESE_E4typeEOSF_NS0_6detail12priority_tagILm2EEE
_ZN3scn2v46ranges6detail5size_2fn4implIRKNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEEmEENS6_9enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESG_E4typeEOSH_NS0_6detail12priority_tagILm2EEE
Line
Count
Source
3072
113k
    {
3073
113k
        return decay_copy(SCN_FWD(t).size());
3074
113k
    }
Unexecuted instantiation: _ZN3scn2v46ranges6detail5size_2fn4implIRKNSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEmEENS6_9enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESE_E4typeEOSF_NS0_6detail12priority_tagILm2EEE
_ZN3scn2v46ranges6detail5size_2fn4implIRNS2_9subrange_8subrangeIPKcS9_EEmEENSt3__19enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESE_E4typeEOSF_NS0_6detail12priority_tagILm2EEE
Line
Count
Source
3072
354k
    {
3073
354k
        return decay_copy(SCN_FWD(t).size());
3074
354k
    }
Unexecuted instantiation: _ZN3scn2v46ranges6detail5size_2fn4implINS2_9subrange_8subrangeIPKcS9_EEmEENSt3__19enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESD_E4typeEOSE_NS0_6detail12priority_tagILm2EEE
_ZN3scn2v46ranges6detail5size_2fn4implIRNS2_9subrange_8subrangeIPKwS9_EEmEENSt3__19enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESE_E4typeEOSF_NS0_6detail12priority_tagILm2EEE
Line
Count
Source
3072
151k
    {
3073
151k
        return decay_copy(SCN_FWD(t).size());
3074
151k
    }
Unexecuted instantiation: _ZN3scn2v46ranges6detail5size_2fn4implINS2_9subrange_8subrangeIPKwS9_EEmEENSt3__19enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESD_E4typeEOSE_NS0_6detail12priority_tagILm2EEE
3075
3076
    template <typename T,
3077
              typename I = decltype(decay_copy(size(std::declval<T>())))>
3078
    static constexpr auto impl(T&& t, priority_tag<1>) noexcept(
3079
        noexcept(decay_copy(size(SCN_FWD(t)))))
3080
        -> std::enable_if_t<std::is_integral_v<I> &&
3081
                                !disable_sized_range<remove_cvref_t<T>>,
3082
                            I>
3083
    {
3084
        return decay_copy(size(SCN_FWD(t)));
3085
    }
3086
3087
    template <typename T,
3088
              typename I = decltype(scn::ranges::begin(SCN_DECLVAL(T))),
3089
              typename S = decltype(scn::ranges::end(SCN_DECLVAL(T))),
3090
              typename D = decltype(static_cast<std::size_t>(SCN_DECLVAL(S) -
3091
                                                             SCN_DECLVAL(I)))>
3092
    static constexpr auto impl(T&& t, priority_tag<0>) noexcept(noexcept(
3093
        static_cast<size_t>(scn::ranges::end(t) - scn::ranges::begin(t))))
3094
        -> std::enable_if_t<!std::is_array_v<remove_cvref_t<T>> &&
3095
                                sized_sentinel_for<S, I> && forward_iterator<I>,
3096
                            D>
3097
    {
3098
        return static_cast<size_t>(scn::ranges::end(t) - scn::ranges::begin(t));
3099
    }
3100
3101
public:
3102
    template <typename T>
3103
    constexpr auto operator()(T&& t) const
3104
        noexcept(noexcept(fn::impl(std::forward<T>(t), priority_tag<3>{})))
3105
            -> decltype(fn::impl(std::forward<T>(t), priority_tag<3>{}))
3106
1.24M
    {
3107
1.24M
        return fn::impl(std::forward<T>(t), priority_tag<3>{});
3108
1.24M
    }
_ZNK3scn2v46ranges6detail5size_2fnclIRKNS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSD_
Line
Count
Source
3106
450k
    {
3107
450k
        return fn::impl(std::forward<T>(t), priority_tag<3>{});
3108
450k
    }
_ZNK3scn2v46ranges6detail5size_2fnclIRKNS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSD_
Line
Count
Source
3106
176k
    {
3107
176k
        return fn::impl(std::forward<T>(t), priority_tag<3>{});
3108
176k
    }
Unexecuted instantiation: _ZNK3scn2v46ranges6detail5size_2fnclIRNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSE_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail5size_2fnclIRNSt3__117basic_string_viewIcNS6_11char_traitsIcEEEEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSC_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail5size_2fnclIRNSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSC_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail5size_2fnclIRKNSt3__117basic_string_viewIcNS6_11char_traitsIcEEEEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSD_
_ZNK3scn2v46ranges6detail5size_2fnclIRKNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSF_
Line
Count
Source
3106
113k
    {
3107
113k
        return fn::impl(std::forward<T>(t), priority_tag<3>{});
3108
113k
    }
Unexecuted instantiation: _ZNK3scn2v46ranges6detail5size_2fnclIRKNSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSD_
_ZNK3scn2v46ranges6detail5size_2fnclIRNS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSC_
Line
Count
Source
3106
354k
    {
3107
354k
        return fn::impl(std::forward<T>(t), priority_tag<3>{});
3108
354k
    }
Unexecuted instantiation: _ZNK3scn2v46ranges6detail5size_2fnclINS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSB_
_ZNK3scn2v46ranges6detail5size_2fnclIRNS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSC_
Line
Count
Source
3106
151k
    {
3107
151k
        return fn::impl(std::forward<T>(t), priority_tag<3>{});
3108
151k
    }
Unexecuted instantiation: _ZNK3scn2v46ranges6detail5size_2fnclINS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSB_
3109
};
3110
3111
}  // namespace detail::size_
3112
3113
inline constexpr auto size = detail::size_::fn{};
3114
3115
namespace detail {
3116
namespace ssize_ {
3117
struct fn {
3118
private:
3119
    template <typename T>
3120
    using ssize_return_t = std::conditional_t<sizeof(range_difference_t<T>) <
3121
                                                  sizeof(std::ptrdiff_t),
3122
                                              std::ptrdiff_t,
3123
                                              range_difference_t<T>>;
3124
3125
    template <typename T>
3126
    static constexpr auto impl(T&& t) noexcept(
3127
        noexcept(ranges::size(std::forward<T>(t))))
3128
        -> decltype(ranges::size(std::forward<T>(t)), ssize_return_t<T>())
3129
113k
    {
3130
113k
        return static_cast<ssize_return_t<T>>(ranges::size(std::forward<T>(t)));
3131
113k
    }
Unexecuted instantiation: _ZN3scn2v46ranges6detail6ssize_2fn4implIRNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEEEEDTcmclL_ZNS1_4sizeEEclsr3stdE7forwardIT_Efp_EEcvNS6_11conditionalIXltstNS6_9enable_ifIX5rangeISE_EENS1_20incrementable_traitsIDTclL_ZNS1_5beginEEclsr3stdE7declvalIRSE_EEEEE15difference_typeEE4typeELm8EElSN_E4typeE_EEOSE_
Unexecuted instantiation: _ZN3scn2v46ranges6detail6ssize_2fn4implIRKNSt3__117basic_string_viewIcNS6_11char_traitsIcEEEEEEDTcmclL_ZNS1_4sizeEEclsr3stdE7forwardIT_Efp_EEcvNS6_11conditionalIXltstNS6_9enable_ifIX5rangeISD_EENS1_20incrementable_traitsIDTclL_ZNS1_5beginEEclsr3stdE7declvalIRSD_EEEEE15difference_typeEE4typeELm8EElSM_E4typeE_EEOSD_
_ZN3scn2v46ranges6detail6ssize_2fn4implIRKNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEEEEDTcmclL_ZNS1_4sizeEEclsr3stdE7forwardIT_Efp_EEcvNS6_11conditionalIXltstNS6_9enable_ifIX5rangeISF_EENS1_20incrementable_traitsIDTclL_ZNS1_5beginEEclsr3stdE7declvalIRSF_EEEEE15difference_typeEE4typeELm8EElSO_E4typeE_EEOSF_
Line
Count
Source
3129
113k
    {
3130
113k
        return static_cast<ssize_return_t<T>>(ranges::size(std::forward<T>(t)));
3131
113k
    }
Unexecuted instantiation: _ZN3scn2v46ranges6detail6ssize_2fn4implIRKNSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEEEDTcmclL_ZNS1_4sizeEEclsr3stdE7forwardIT_Efp_EEcvNS6_11conditionalIXltstNS6_9enable_ifIX5rangeISD_EENS1_20incrementable_traitsIDTclL_ZNS1_5beginEEclsr3stdE7declvalIRSD_EEEEE15difference_typeEE4typeELm8EElSM_E4typeE_EEOSD_
3132
3133
public:
3134
    template <typename T>
3135
    constexpr auto operator()(T&& t) const
3136
        noexcept(noexcept(fn::impl(std::forward<T>(t))))
3137
            -> decltype(fn::impl(std::forward<T>(t)))
3138
113k
    {
3139
113k
        return fn::impl(std::forward<T>(t));
3140
113k
    }
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6ssize_2fnclIRNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EEEOSE_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6ssize_2fnclIRKNSt3__117basic_string_viewIcNS6_11char_traitsIcEEEEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EEEOSD_
_ZNK3scn2v46ranges6detail6ssize_2fnclIRKNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EEEOSF_
Line
Count
Source
3138
113k
    {
3139
113k
        return fn::impl(std::forward<T>(t));
3140
113k
    }
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6ssize_2fnclIRKNSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EEEOSD_
3141
};
3142
}  // namespace ssize_
3143
}  // namespace detail
3144
3145
inline constexpr auto ssize = detail::ssize_::fn{};
3146
3147
namespace detail::empty_ {
3148
struct fn {
3149
private:
3150
    template <typename T>
3151
    static constexpr auto impl(T&& t, priority_tag<2>) noexcept(
3152
        noexcept(static_cast<bool>(SCN_FWD(t).empty())))
3153
        -> decltype(static_cast<bool>(SCN_FWD(t).empty()))
3154
    {
3155
        return static_cast<bool>(SCN_FWD(t).empty());
3156
    }
3157
3158
    template <typename T>
3159
    static constexpr auto impl(T&& t, priority_tag<1>) noexcept(
3160
        noexcept(ranges::size(SCN_FWD(t)) == 0))
3161
        -> decltype(ranges::size(SCN_FWD(t)) == 0)
3162
    {
3163
        return ranges::size(SCN_FWD(t)) == 0;
3164
    }
3165
3166
    template <typename T,
3167
              typename I = decltype(ranges::begin(std::declval<T>()))>
3168
    static constexpr auto impl(T&& t, priority_tag<0>) noexcept(
3169
        noexcept(ranges::begin(t) == ranges::end(t)))
3170
        -> std::enable_if_t<forward_iterator<I>,
3171
                            decltype(ranges::begin(t) == ranges::end(t))>
3172
    {
3173
        return ranges::begin(t) == ranges::end(t);
3174
    }
3175
3176
public:
3177
    template <typename T>
3178
    constexpr auto operator()(T&& t) const
3179
        noexcept(noexcept(fn::impl(SCN_FWD(t), priority_tag<2>{})))
3180
            -> decltype(fn::impl(SCN_FWD(t), priority_tag<2>{}))
3181
    {
3182
        return fn::impl(SCN_FWD(t), priority_tag<2>{});
3183
    }
3184
};
3185
}  // namespace detail::empty_
3186
3187
inline constexpr auto empty = detail::empty_::fn{};
3188
3189
/**
3190
 * \see `std::ranges::borrowed_range`
3191
 */
3192
template <typename T>
3193
inline constexpr bool borrowed_range =
3194
    range<T> && (std::is_lvalue_reference_v<T> ||
3195
                 enable_borrowed_range<detail::remove_cvref_t<T>>);
3196
3197
namespace detail {
3198
struct sized_range_concept {
3199
    template <typename T>
3200
    auto requires_(T& t) -> decltype(ranges::size(t));
3201
};
3202
}  // namespace detail
3203
3204
template <typename T>
3205
inline constexpr bool sized_range =
3206
    range<T> && !disable_sized_range<detail::remove_cvref_t<T>> &&
3207
    detail::requires_<detail::sized_range_concept, T>;
3208
3209
namespace detail {
3210
struct output_range_concept {
3211
    template <typename, typename>
3212
    static auto test(long) -> std::false_type;
3213
3214
    template <typename R, typename T>
3215
    static auto test(int)
3216
        -> std::enable_if_t<range<R> && output_iterator<iterator_t<R>, T>,
3217
                            std::true_type>;
3218
};
3219
}  // namespace detail
3220
3221
template <typename R, typename T>
3222
inline constexpr bool output_range =
3223
    decltype(detail::output_range_concept::test<R, T>(0))::value;
3224
3225
namespace detail {
3226
struct input_range_concept {
3227
    template <typename>
3228
    static auto test(long) -> std::false_type;
3229
3230
    template <typename T>
3231
    static auto test(int)
3232
        -> std::enable_if_t<range<T> && input_iterator<iterator_t<T>>,
3233
                            std::true_type>;
3234
};
3235
}  // namespace detail
3236
3237
template <typename T>
3238
inline constexpr bool input_range =
3239
    decltype(detail::input_range_concept::test<T>(0))::value;
3240
3241
namespace detail {
3242
struct forward_range_concept {
3243
    template <typename>
3244
    static auto test(long) -> std::false_type;
3245
3246
    template <typename T>
3247
    static auto test(int)
3248
        -> std::enable_if_t<input_range<T> && forward_iterator<iterator_t<T>>,
3249
                            std::true_type>;
3250
};
3251
}  // namespace detail
3252
3253
template <typename T>
3254
inline constexpr bool forward_range =
3255
    decltype(detail::forward_range_concept::test<T>(0))::value;
3256
3257
namespace detail {
3258
struct bidirectional_range_concept {
3259
    template <typename>
3260
    static auto test(long) -> std::false_type;
3261
3262
    template <typename T>
3263
    static auto test(int)
3264
        -> std::enable_if_t<forward_range<T> &&
3265
                                bidirectional_iterator<iterator_t<T>>,
3266
                            std::true_type>;
3267
};
3268
}  // namespace detail
3269
3270
template <typename T>
3271
inline constexpr bool bidirectional_range =
3272
    decltype(detail::bidirectional_range_concept::test<T>(0))::value;
3273
3274
namespace detail {
3275
struct random_access_range_concept {
3276
    template <typename>
3277
    static auto test(long) -> std::false_type;
3278
3279
    template <typename T>
3280
    static auto test(int)
3281
        -> std::enable_if_t<bidirectional_range<T> &&
3282
                                random_access_iterator<iterator_t<T>>,
3283
                            std::true_type>;
3284
};
3285
}  // namespace detail
3286
3287
template <typename T>
3288
inline constexpr bool random_access_range =
3289
    decltype(detail::random_access_range_concept::test<T>(0))::value;
3290
3291
namespace detail {
3292
// FIXME: Not to spec
3293
// We only require random_access_iterator, not contiguous_iterator
3294
// This is so that vector::iterator, string::iterator etc can model
3295
// contiguous_range.
3296
// If we do range-v3-style deep integration with iterator_traits then
3297
// this could be fixed
3298
struct contiguous_range_concept {
3299
    template <typename>
3300
    static auto test(long) -> std::false_type;
3301
3302
    template <typename T>
3303
    static auto test(int) -> std::enable_if_t<
3304
        random_access_range<T> && /* contiguous_iterator<iterator_t<T>>
3305
                                   * &&
3306
                                   */
3307
            detail::requires_<contiguous_range_concept, T>,
3308
        std::true_type>;
3309
3310
    template <typename T>
3311
    auto requires_(T& t)
3312
        -> decltype(requires_expr<std::is_same_v<
3313
                        decltype(ranges::data(t)),
3314
                        std::add_pointer_t<range_reference_t<T>>>>{});
3315
};
3316
}  // namespace detail
3317
3318
template <typename R>
3319
inline constexpr bool contiguous_range =
3320
    decltype(detail::contiguous_range_concept::test<R>(0))::value;
3321
3322
namespace detail {
3323
struct common_range_concept {
3324
    template <typename>
3325
    static auto test(long) -> std::false_type;
3326
3327
    template <typename T>
3328
    static auto test(int)
3329
        -> std::enable_if_t<range<T> &&
3330
                                std::is_same_v<iterator_t<T>, sentinel_t<T>>,
3331
                            std::true_type>;
3332
};
3333
}  // namespace detail
3334
3335
template <typename T>
3336
inline constexpr bool common_range =
3337
    decltype(detail::common_range_concept::test<T>(0))::value;
3338
3339
/**
3340
 * \see `std::ranges::dangling`
3341
 */
3342
struct dangling {
3343
    constexpr dangling() noexcept = default;
3344
3345
    template <typename... Args>
3346
    constexpr dangling(Args&&...) noexcept
3347
    {
3348
    }
3349
};
3350
3351
/**
3352
 * \see `std::ranges::borrowed_iterator_t`
3353
 */
3354
template <typename R>
3355
using borrowed_iterator_t =
3356
    std::conditional_t<borrowed_range<R>, iterator_t<R>, dangling>;
3357
3358
template <typename D>
3359
class view_interface {
3360
    static_assert(std::is_class<D>::value, "");
3361
    static_assert(std::is_same_v<D, std::remove_cv_t<D>>, "");
3362
3363
private:
3364
    constexpr D& derived() noexcept
3365
2.17M
    {
3366
2.17M
        return static_cast<D&>(*this);
3367
2.17M
    }
scn::v4::ranges::view_interface<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::derived()
Line
Count
Source
3365
1.76M
    {
3366
1.76M
        return static_cast<D&>(*this);
3367
1.76M
    }
scn::v4::ranges::view_interface<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::derived()
Line
Count
Source
3365
409k
    {
3366
409k
        return static_cast<D&>(*this);
3367
409k
    }
3368
3369
    constexpr const D& derived() const noexcept
3370
626k
    {
3371
626k
        return static_cast<const D&>(*this);
3372
626k
    }
scn::v4::ranges::view_interface<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::derived() const
Line
Count
Source
3370
450k
    {
3371
450k
        return static_cast<const D&>(*this);
3372
450k
    }
scn::v4::ranges::view_interface<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::derived() const
Line
Count
Source
3370
176k
    {
3371
176k
        return static_cast<const D&>(*this);
3372
176k
    }
3373
3374
public:
3375
    template <typename R = D>
3376
    [[nodiscard]] constexpr auto empty()
3377
        -> std::enable_if_t<forward_range<R>, bool>
3378
    {
3379
        return ranges::begin(derived()) == ranges::end(derived());
3380
    }
3381
3382
    template <typename R = D>
3383
    [[nodiscard]] constexpr auto empty() const
3384
        -> std::enable_if_t<forward_range<const R>, bool>
3385
    {
3386
        return ranges::begin(derived()) == ranges::end(derived());
3387
    }
3388
3389
    template <typename R = D,
3390
              typename = decltype(ranges::empty(std::declval<R&>()))>
3391
    constexpr explicit operator bool()
3392
    {
3393
        return !ranges::empty(derived());
3394
    }
3395
3396
    template <typename R = D,
3397
              typename = decltype(ranges::empty(std::declval<const R&>()))>
3398
    constexpr explicit operator bool() const
3399
    {
3400
        return !ranges::empty(derived());
3401
    }
3402
3403
    template <typename R = D,
3404
              typename = std::enable_if_t<contiguous_iterator<iterator_t<R>>>>
3405
    constexpr auto data()
3406
2.17M
    {
3407
2.17M
        return detail::to_address(ranges::begin(derived()));
3408
2.17M
    }
auto scn::v4::ranges::view_interface<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::data<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void>()
Line
Count
Source
3406
1.76M
    {
3407
1.76M
        return detail::to_address(ranges::begin(derived()));
3408
1.76M
    }
auto scn::v4::ranges::view_interface<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::data<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void>()
Line
Count
Source
3406
409k
    {
3407
409k
        return detail::to_address(ranges::begin(derived()));
3408
409k
    }
3409
3410
    template <typename R = D,
3411
              typename = std::enable_if_t<
3412
                  range<const R> && contiguous_iterator<iterator_t<const R>>>>
3413
    constexpr auto data() const
3414
626k
    {
3415
626k
        return detail::to_address(ranges::begin(derived()));
3416
626k
    }
auto scn::v4::ranges::view_interface<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::data<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void>() const
Line
Count
Source
3414
450k
    {
3415
450k
        return detail::to_address(ranges::begin(derived()));
3416
450k
    }
auto scn::v4::ranges::view_interface<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::data<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void>() const
Line
Count
Source
3414
176k
    {
3415
176k
        return detail::to_address(ranges::begin(derived()));
3416
176k
    }
3417
3418
    template <typename R = D,
3419
              typename = std::enable_if_t<
3420
                  forward_range<R> &&
3421
                  sized_sentinel_for<sentinel_t<R>, iterator_t<R>>>>
3422
    constexpr auto size()
3423
    {
3424
        return ranges::end(derived()) - ranges::begin(derived());
3425
    }
3426
3427
    template <typename R = D,
3428
              typename = std::enable_if_t<
3429
                  forward_range<const R> &&
3430
                  sized_sentinel_for<sentinel_t<const R>, iterator_t<const R>>>>
3431
    constexpr auto size() const
3432
    {
3433
        return ranges::end(derived()) - ranges::begin(derived());
3434
    }
3435
3436
#if 0
3437
    template <typename R = D, typename = std::enable_if_t<forward_range<R>>>
3438
    constexpr decltype(auto) front()
3439
    {
3440
        return *ranges::begin(derived());
3441
    }
3442
3443
    template <typename R = D,
3444
              typename = std::enable_if_t<forward_range<const R>>>
3445
    constexpr decltype(auto) front() const
3446
    {
3447
        return *ranges::begin(derived());
3448
    }
3449
3450
    template <
3451
        typename R = D,
3452
        typename = std::enable_if_t<bidirectional_range<R> && common_range<R>>>
3453
    constexpr decltype(auto) back()
3454
    {
3455
        return *ranges::prev(ranges::end(derived()));
3456
    }
3457
3458
    template <typename R = D,
3459
              typename = std::enable_if_t<bidirectional_range<const R> &&
3460
                                          common_range<const R>>>
3461
    constexpr decltype(auto) back() const
3462
    {
3463
        return *ranges::prev(ranges::end(derived()));
3464
    }
3465
3466
    template <typename R = D,
3467
              typename = std::enable_if_t<random_access_range<R>>>
3468
    constexpr decltype(auto) operator[](iter_difference_t<iterator_t<R>> n)
3469
    {
3470
        return ranges::begin(derived())[n];
3471
    }
3472
#endif
3473
3474
    template <typename R = D,
3475
              typename = std::enable_if_t<random_access_range<const R>>>
3476
    constexpr decltype(auto) operator[](
3477
        iter_difference_t<iterator_t<const R>> n) const
3478
    {
3479
        return ranges::begin(derived())[n];
3480
    }
3481
};
3482
3483
namespace detail::subrange_ {
3484
3485
template <typename I, typename S = I>
3486
class subrange : public view_interface<subrange<I, S>> {
3487
    static_assert(input_or_output_iterator<I>);
3488
    static_assert(sentinel_for<S, I>);
3489
3490
public:
3491
1.25M
    subrange() = default;
scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>::subrange()
Line
Count
Source
3491
450k
    subrange() = default;
scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >::subrange()
Line
Count
Source
3491
449k
    subrange() = default;
scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>::subrange()
Line
Count
Source
3491
176k
    subrange() = default;
scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >::subrange()
Line
Count
Source
3491
176k
    subrange() = default;
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>::subrange()
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >::subrange()
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>::subrange()
3492
3493
    template <typename I_,
3494
              std::enable_if_t<std::is_convertible_v<I_, I>>* = nullptr>
3495
    constexpr subrange(I_ i, S s)
3496
11.1M
        : m_iterator(SCN_MOVE(i)), m_sentinel(SCN_MOVE(s))
3497
11.1M
    {
3498
11.1M
    }
_ZN3scn2v46ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS7_PKS8_lLl4096EEESC_EC2ISC_TnPNS5_9enable_ifIXsr3stdE16is_convertible_vIT_SC_EEvE4typeELPv0EEESG_SC_
Line
Count
Source
3496
812k
        : m_iterator(SCN_MOVE(i)), m_sentinel(SCN_MOVE(s))
3497
812k
    {
3498
812k
    }
_ZN3scn2v46ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS7_PKS8_lLl1024EEESC_EC2ISC_TnPNS5_9enable_ifIXsr3stdE16is_convertible_vIT_SC_EEvE4typeELPv0EEESG_SC_
Line
Count
Source
3496
179k
        : m_iterator(SCN_MOVE(i)), m_sentinel(SCN_MOVE(s))
3497
179k
    {
3498
179k
    }
_ZN3scn2v46ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEC2IS8_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_S8_EEvE4typeELPv0EEESE_S9_
Line
Count
Source
3496
3.44M
        : m_iterator(SCN_MOVE(i)), m_sentinel(SCN_MOVE(s))
3497
3.44M
    {
3498
3.44M
    }
_ZN3scn2v46ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEC2IS8_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_S8_EEvE4typeELPv0EEESE_S9_
Line
Count
Source
3496
908k
        : m_iterator(SCN_MOVE(i)), m_sentinel(SCN_MOVE(s))
3497
908k
    {
3498
908k
    }
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEENS5_15take_width_viewINS4_ISB_SC_EEE8sentinelILb1EEEEC2ISD_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_SD_EEvE4typeELPv0EEESN_SI_
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS7_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEENS5_15take_width_viewINS4_ISB_SC_EEE8sentinelILb1EEEEENSE_ISG_E8sentinelILb1EEEEC2ISJ_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_SJ_EEvE4typeELPv0EEESR_SM_
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEESD_EC2ISD_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_SD_EEvE4typeELPv0EEESI_SD_
_ZN3scn2v46ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorES8_EC2IS8_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_S8_EEvE4typeELPv0EEESD_S8_
Line
Count
Source
3496
281k
        : m_iterator(SCN_MOVE(i)), m_sentinel(SCN_MOVE(s))
3497
281k
    {
3498
281k
    }
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS9_EENS5_15take_width_viewINSt3__117basic_string_viewIcNSC_11char_traitsIcEEEEE8sentinelILb1EEEEC2ISA_TnPNSC_9enable_ifIXsr3stdE16is_convertible_vIT_SA_EEvE4typeELPv0EEESN_SJ_
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS7_IPKcS9_EENS5_15take_width_viewINSt3__117basic_string_viewIcNSC_11char_traitsIcEEEEE8sentinelILb1EEEEENSB_ISH_E8sentinelILb1EEEEC2ISK_TnPNSC_9enable_ifIXsr3stdE16is_convertible_vIT_SK_EEvE4typeELPv0EEESR_SN_
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS9_EESA_EC2ISA_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_SA_EEvE4typeELPv0EEESF_SA_
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS9_EENS5_15take_width_viewINS4_IS9_S9_EEE8sentinelILb1EEEEC2ISA_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_SA_EEvE4typeELPv0EEESK_SF_
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEENS5_15take_width_viewINS4_ISB_SC_EEE8sentinelILb1EEEEC2ISD_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_SD_EEvE4typeELPv0EEESN_SI_
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS7_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEENS5_15take_width_viewINS4_ISB_SC_EEE8sentinelILb1EEEEENSE_ISG_E8sentinelILb1EEEEC2ISJ_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_SJ_EEvE4typeELPv0EEESR_SM_
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEESD_EC2ISD_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_SD_EEvE4typeELPv0EEESI_SD_
_ZN3scn2v46ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorES8_EC2IS8_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_S8_EEvE4typeELPv0EEESD_S8_
Line
Count
Source
3496
2.75k
        : m_iterator(SCN_MOVE(i)), m_sentinel(SCN_MOVE(s))
3497
2.75k
    {
3498
2.75k
    }
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS9_EENS5_15take_width_viewINSt3__117basic_string_viewIwNSC_11char_traitsIwEEEEE8sentinelILb1EEEEC2ISA_TnPNSC_9enable_ifIXsr3stdE16is_convertible_vIT_SA_EEvE4typeELPv0EEESN_SJ_
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS7_IPKwS9_EENS5_15take_width_viewINSt3__117basic_string_viewIwNSC_11char_traitsIwEEEEE8sentinelILb1EEEEENSB_ISH_E8sentinelILb1EEEEC2ISK_TnPNSC_9enable_ifIXsr3stdE16is_convertible_vIT_SK_EEvE4typeELPv0EEESR_SN_
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS9_EESA_EC2ISA_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_SA_EEvE4typeELPv0EEESF_SA_
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS9_EENS5_15take_width_viewINS4_IS9_S9_EEE8sentinelILb1EEEEC2ISA_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_SA_EEvE4typeELPv0EEESK_SF_
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS7_IPKcS9_EENS5_15take_width_viewINS4_IS9_S9_EEE8sentinelILb1EEEEENSB_ISD_E8sentinelILb1EEEEC2ISG_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_SG_EEvE4typeELPv0EEESO_SJ_
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS7_IPKwS9_EENS5_15take_width_viewINS4_IS9_S9_EEE8sentinelILb1EEEEENSB_ISD_E8sentinelILb1EEEEC2ISG_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_SG_EEvE4typeELPv0EEESO_SJ_
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINSt3__111__wrap_iterIPcEES8_EC2IS8_TnPNS5_9enable_ifIXsr3stdE16is_convertible_vIT_S8_EEvE4typeELPv0EEESC_S8_
_ZN3scn2v46ranges6detail9subrange_8subrangeIPKcS6_EC2IS6_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_S6_EEvE4typeELPv0EEESB_S6_
Line
Count
Source
3496
4.15M
        : m_iterator(SCN_MOVE(i)), m_sentinel(SCN_MOVE(s))
3497
4.15M
    {
3498
4.15M
    }
_ZN3scn2v46ranges6detail9subrange_8subrangeIPKwS6_EC2IS6_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_S6_EEvE4typeELPv0EEESB_S6_
Line
Count
Source
3496
1.34M
        : m_iterator(SCN_MOVE(i)), m_sentinel(SCN_MOVE(s))
3497
1.34M
    {
3498
1.34M
    }
3499
3500
    template <
3501
        typename R,
3502
        std::enable_if_t<is_not_self<R, subrange> && borrowed_range<R> &&
3503
                         std::is_convertible_v<iterator_t<R>, I> &&
3504
                         std::is_convertible_v<sentinel_t<R>, S>>* = nullptr>
3505
    constexpr subrange(R&& r)
3506
        : m_iterator(scn::ranges::begin(r)), m_sentinel(scn::ranges::end(r))
3507
    {
3508
    }
3509
3510
    SCN_NODISCARD constexpr I begin() const
3511
        noexcept(std::is_nothrow_copy_constructible_v<I>)
3512
93.7M
    {
3513
93.7M
        return m_iterator;
3514
93.7M
    }
scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>::begin() const
Line
Count
Source
3512
8.00M
    {
3513
8.00M
        return m_iterator;
3514
8.00M
    }
scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >::begin() const
Line
Count
Source
3512
1.17M
    {
3513
1.17M
        return m_iterator;
3514
1.17M
    }
scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>::begin() const
Line
Count
Source
3512
36.5M
    {
3513
36.5M
        return m_iterator;
3514
36.5M
    }
scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >::begin() const
Line
Count
Source
3512
182k
    {
3513
182k
        return m_iterator;
3514
182k
    }
scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>::begin() const
Line
Count
Source
3512
10.5M
    {
3513
10.5M
        return m_iterator;
3514
10.5M
    }
scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>::begin() const
Line
Count
Source
3512
36.5M
    {
3513
36.5M
        return m_iterator;
3514
36.5M
    }
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::begin() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >::begin() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::begin() const
scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>::begin() const
Line
Count
Source
3512
637k
    {
3513
637k
        return m_iterator;
3514
637k
    }
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::begin() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> >::begin() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::begin() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::begin() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::begin() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >::begin() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::begin() const
scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>::begin() const
Line
Count
Source
3512
6.83k
    {
3513
6.83k
        return m_iterator;
3514
6.83k
    }
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::begin() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> >::begin() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::begin() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::begin() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> >::begin() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> >::begin() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >::begin() const
3515
    SCN_NODISCARD constexpr S end() const
3516
        noexcept(std::is_nothrow_copy_constructible_v<S>)
3517
193M
    {
3518
193M
        return m_sentinel;
3519
193M
    }
scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>::end() const
Line
Count
Source
3517
5.55M
    {
3518
5.55M
        return m_sentinel;
3519
5.55M
    }
scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >::end() const
Line
Count
Source
3517
7.05M
    {
3518
7.05M
        return m_sentinel;
3519
7.05M
    }
scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>::end() const
Line
Count
Source
3517
35.4M
    {
3518
35.4M
        return m_sentinel;
3519
35.4M
    }
scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >::end() const
Line
Count
Source
3517
102M
    {
3518
102M
        return m_sentinel;
3519
102M
    }
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::end() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >::end() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::end() const
scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>::end() const
Line
Count
Source
3517
7.52M
    {
3518
7.52M
        return m_sentinel;
3519
7.52M
    }
scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>::end() const
Line
Count
Source
3517
637k
    {
3518
637k
        return m_sentinel;
3519
637k
    }
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::end() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> >::end() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::end() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::end() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::end() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >::end() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::end() const
scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>::end() const
Line
Count
Source
3517
35.3M
    {
3518
35.3M
        return m_sentinel;
3519
35.3M
    }
scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>::end() const
Line
Count
Source
3517
6.83k
    {
3518
6.83k
        return m_sentinel;
3519
6.83k
    }
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::end() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> >::end() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::end() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::end() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> >::end() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> >::end() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >::end() const
3520
3521
    SCN_NODISCARD constexpr bool empty() const noexcept
3522
    {
3523
        return m_iterator == m_sentinel;
3524
    }
3525
3526
    template <typename I_ = I,
3527
              std::enable_if_t<sized_sentinel_for<S, I_>>* = nullptr>
3528
    SCN_NODISCARD constexpr std::size_t size() const noexcept
3529
2.41M
    {
3530
2.41M
        return static_cast<size_t>(m_sentinel - m_iterator);
3531
2.41M
    }
_ZNK3scn2v46ranges6detail9subrange_8subrangeIPKcS6_E4sizeIS6_TnPNSt3__19enable_ifIX18sized_sentinel_forIS6_T_EEvE4typeELPv0EEEmv
Line
Count
Source
3529
1.87M
    {
3530
1.87M
        return static_cast<size_t>(m_sentinel - m_iterator);
3531
1.87M
    }
_ZNK3scn2v46ranges6detail9subrange_8subrangeIPKwS6_E4sizeIS6_TnPNSt3__19enable_ifIX18sized_sentinel_forIS6_T_EEvE4typeELPv0EEEmv
Line
Count
Source
3529
535k
    {
3530
535k
        return static_cast<size_t>(m_sentinel - m_iterator);
3531
535k
    }
3532
3533
private:
3534
    SCN_NO_UNIQUE_ADDRESS I m_iterator{};
3535
    SCN_NO_UNIQUE_ADDRESS S m_sentinel{};
3536
};
3537
3538
template <typename I,
3539
          typename S,
3540
          std::enable_if_t<input_or_output_iterator<I> && sentinel_for<S, I>>* =
3541
              nullptr>
3542
subrange(I, S) -> subrange<I, S>;
3543
3544
template <typename R, std::enable_if_t<borrowed_range<R>>* = nullptr>
3545
subrange(R&&) -> subrange<iterator_t<R>, sentinel_t<R>>;
3546
3547
}  // namespace detail::subrange_
3548
3549
/**
3550
 * \see `std::ranges::subrange`
3551
 */
3552
using detail::subrange_::subrange;
3553
3554
template <typename I, typename S>
3555
inline constexpr bool enable_borrowed_range<subrange<I, S>> = true;
3556
3557
struct default_sentinel_t {};
3558
inline constexpr default_sentinel_t default_sentinel{};
3559
3560
}  // namespace ranges
3561
3562
namespace detail {
3563
3564
namespace char_t_fn {
3565
template <typename T, typename = typename T::value_type>
3566
constexpr auto impl_nonarray(priority_tag<2>)
3567
0
{
3568
0
    return tag_type<typename T::value_type>{};
3569
0
}
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, char>(scn::v4::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >, char>(scn::v4::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >, char>(scn::v4::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >, char>(scn::v4::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<std::__1::basic_string_view<char, std::__1::char_traits<char> >, char>(scn::v4::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >, char>(scn::v4::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, wchar_t>(scn::v4::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >, wchar_t>(scn::v4::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, wchar_t>(scn::v4::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >, wchar_t>(scn::v4::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, wchar_t>(scn::v4::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >, wchar_t>(scn::v4::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >, char>(scn::v4::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >, wchar_t>(scn::v4::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, char>(scn::v4::detail::priority_tag<2ul>)
3570
template <typename T, typename = decltype(SCN_DECLVAL(T&).begin())>
3571
constexpr auto impl_nonarray(priority_tag<1>)
3572
0
{
3573
0
    return tag_type<remove_cvref_t<decltype(*(SCN_DECLVAL(T&).begin()))>>{};
3574
0
}
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char const*>(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t const*>(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >(scn::v4::detail::priority_tag<1ul>)
3575
template <typename T>
3576
constexpr auto impl_nonarray(priority_tag<0>)
3577
{
3578
    return tag_type<remove_cvref_t<decltype(*begin(SCN_DECLVAL(T&)))>>{};
3579
}
3580
3581
template <typename T,
3582
          typename = std::enable_if_t<ranges::range<remove_cvref_t<T>>>>
3583
constexpr auto impl()
3584
0
{
3585
0
    using T_nocvref = remove_cvref_t<T>;
3586
0
    if constexpr (std::is_array_v<T_nocvref>) {
3587
0
        return tag_type<std::remove_all_extents_t<T_nocvref>>{};
3588
0
    }
3589
0
    else {
3590
0
        return impl_nonarray<T_nocvref>(priority_tag<2>{});
3591
0
    }
3592
0
}
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<std::__1::basic_string_view<char, std::__1::char_traits<char> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, void>()
3593
3594
template <typename Range>
3595
using result = decltype(impl<Range>());
3596
}  // namespace char_t_fn
3597
3598
template <typename Range>
3599
using char_t = typename char_t_fn::result<Range>::type;
3600
3601
template <typename Range, typename = void>
3602
inline constexpr bool is_file_or_narrow_range_impl = false;
3603
template <>
3604
inline constexpr bool is_file_or_narrow_range_impl<std::FILE*, void> = true;
3605
template <typename Range>
3606
inline constexpr bool
3607
    is_file_or_narrow_range_impl<Range,
3608
                                 std::enable_if_t<ranges::range<Range>>> =
3609
        std::is_same_v<char_t<Range>, char>;
3610
3611
template <typename Range>
3612
inline constexpr bool is_file_or_narrow_range =
3613
    is_file_or_narrow_range_impl<remove_cvref_t<Range>>;
3614
3615
template <typename Range, typename = void>
3616
inline constexpr bool is_wide_range = false;
3617
template <typename Range>
3618
inline constexpr bool
3619
    is_wide_range<Range,
3620
                  std::enable_if_t<ranges::range<remove_cvref_t<Range>>>> =
3621
        std::is_same_v<char_t<Range>, wchar_t>;
3622
3623
template <typename R, bool Borrowed = ranges::borrowed_range<R>>
3624
struct borrowed_tail_subrange {
3625
    using type = ranges::subrange<ranges::iterator_t<R>, ranges::sentinel_t<R>>;
3626
};
3627
template <typename R>
3628
struct borrowed_tail_subrange<R, false> {
3629
    using type = ranges::dangling;
3630
};
3631
3632
/// Equivalent to
3633
/// `ranges::subrange<ranges::iterator_t<R>,
3634
/// ranges::sentinel_t<R>>` if `R` is a `borrowed_range`, and
3635
/// `ranges::dangling` otherwise.
3636
///
3637
/// Similar to `ranges::borrowed_subrange_t<R>`, expect this preserves
3638
/// the range sentinel.
3639
template <typename R>
3640
using borrowed_tail_subrange_t = typename borrowed_tail_subrange<R>::type;
3641
3642
}  // namespace detail
3643
3644
namespace ranges {
3645
template <typename CharT, typename Traits>
3646
inline constexpr bool
3647
    enable_borrowed_range<std::basic_string_view<CharT, Traits>> = true;
3648
}
3649
3650
SCN_GCC_POP  // -Wnoexcept (for the entirety of the expected and ranges impls)
3651
3652
    // reset formatting
3653
    namespace detail
3654
{
3655
}
3656
3657
/////////////////////////////////////////////////////////////////
3658
// Small generic algorithms
3659
/////////////////////////////////////////////////////////////////
3660
3661
namespace detail {
3662
3663
/**
3664
 * Implementation of `std::min_element` without including `<algorithm>`
3665
 */
3666
template <typename It>
3667
constexpr It min_element(It first, It last)
3668
{
3669
    if (first == last) {
3670
        return last;
3671
    }
3672
3673
    It smallest = first;
3674
    ++first;
3675
    for (; first != last; ++first) {
3676
        if (*first < *smallest) {
3677
            smallest = first;
3678
        }
3679
    }
3680
    return smallest;
3681
}
3682
3683
/**
3684
 * Implementation of `std::min` without including `<algorithm>`
3685
 */
3686
template <typename T>
3687
constexpr T min(T a, T b) noexcept
3688
{
3689
    return (b < a) ? b : a;
3690
}
3691
3692
template <bool IsConstexpr, typename T, typename Ptr = const T*>
3693
constexpr Ptr find(Ptr first, Ptr last, T value)
3694
{
3695
    for (; first != last; ++first) {
3696
        if (*first == value) {
3697
            return first;
3698
        }
3699
    }
3700
    return last;
3701
}
3702
3703
template <>
3704
inline const char* find<false, char>(const char* first,
3705
                                     const char* last,
3706
                                     char value)
3707
0
{
3708
0
    auto ptr = static_cast<const char*>(
3709
0
        std::memchr(first, value, static_cast<size_t>(last - first)));
3710
0
    return ptr != nullptr ? ptr : last;
3711
0
}
3712
3713
}  // namespace detail
3714
3715
/////////////////////////////////////////////////////////////////
3716
// Errors
3717
/////////////////////////////////////////////////////////////////
3718
3719
/**
3720
 * Error class.
3721
 * Used as a return value for functions without a success value.
3722
 * Doesn't have a success state, and isn't default constructible:
3723
 * use `expected<void, scan_error>` to achieve that.
3724
 *
3725
 * \ingroup result
3726
 */
3727
class SCN_TRIVIAL_ABI scan_error {
3728
public:
3729
    /// Error code
3730
    enum code {
3731
        /// Input ended unexpectedly.
3732
        end_of_input,
3733
3734
        /// Format string was invalid.
3735
        /// Often a compile-time error, if supported and/or enabled.
3736
        invalid_format_string,
3737
3738
        /// Scanned value was invalid for given type,
3739
        /// or a value of the given couldn't be scanned.
3740
        invalid_scanned_value,
3741
3742
        /// Literal character specified in format string not found in source.
3743
        invalid_literal,
3744
3745
        /// Too many fill characters scanned,
3746
        /// field precision (max width) exceeded.
3747
        invalid_fill,
3748
3749
        /// Scanned field width was shorter than
3750
        /// what was specified as the minimum field width.
3751
        length_too_short,
3752
3753
        /// Source range is in an invalid state,
3754
        /// failed to continue reading.
3755
        invalid_source_state,
3756
3757
        /// Value out of range, too large (higher than the maximum value)
3758
        /// i.e. >2^32 for int32
3759
        value_positive_overflow,
3760
3761
        /// Value out of range, too small (lower than the minimum value)
3762
        /// i.e. <2^32 for int32
3763
        value_negative_overflow,
3764
3765
        /// Value out of range, magnitude too small, sign +
3766
        /// (between 0 and the smallest subnormal float)
3767
        value_positive_underflow,
3768
3769
        /// Value out of range, magnitude too small, sign -
3770
        /// (between 0 and the smallest subnormal float)
3771
        value_negative_underflow,
3772
3773
        /// Value of this type can't be parsed,
3774
        /// either from this source or not at all.
3775
        type_not_supported,
3776
3777
        max_error
3778
    };
3779
3780
private:
3781
    using code_t = code;
3782
3783
public:
3784
    /// Constructs an error with `c` and `m`
3785
718k
    constexpr scan_error(code_t c, const char* m) noexcept : m_msg(m), m_code(c)
3786
718k
    {
3787
718k
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_code);
3788
718k
    }
3789
3790
    constexpr explicit operator code_t() const noexcept
3791
0
    {
3792
0
        return m_code;
3793
0
    }
3794
3795
    /// Get error code
3796
    SCN_NODISCARD constexpr code_t code() const noexcept
3797
0
    {
3798
0
        return m_code;
3799
0
    }
3800
    /// Get error message
3801
    SCN_NODISCARD constexpr auto msg() const noexcept -> const char*
3802
0
    {
3803
0
        return m_msg;
3804
0
    }
3805
3806
    /// Convert to a `std::errc`.
3807
    SCN_NODISCARD constexpr std::errc to_errc() const noexcept
3808
0
    {
3809
0
        switch (m_code) {
3810
0
            case end_of_input:
3811
0
            case invalid_format_string:
3812
0
            case invalid_scanned_value:
3813
0
            case invalid_literal:
3814
0
            case invalid_fill:
3815
0
            case length_too_short:
3816
0
            case type_not_supported:
3817
0
                return std::errc::invalid_argument;
3818
0
            case invalid_source_state:
3819
0
                return std::errc::io_error;
3820
0
            case value_positive_overflow:
3821
0
            case value_negative_overflow:
3822
0
            case value_positive_underflow:
3823
0
            case value_negative_underflow:
3824
0
                return std::errc::result_out_of_range;
3825
0
            case max_error:
3826
0
                SCN_CLANG_PUSH
3827
0
                SCN_CLANG_IGNORE("-Wcovered-switch-default")
3828
0
            default:
3829
0
                assert(false);
3830
0
                SCN_UNREACHABLE;
3831
0
                SCN_CLANG_POP
3832
0
        }
3833
0
    }
3834
3835
private:
3836
    const char* m_msg;
3837
    code_t m_code;
3838
};
3839
3840
constexpr bool operator==(scan_error a, scan_error b) noexcept
3841
0
{
3842
0
    return a.code() == b.code();
3843
0
}
3844
constexpr bool operator!=(scan_error a, scan_error b) noexcept
3845
0
{
3846
0
    return !(a == b);
3847
0
}
3848
3849
constexpr bool operator==(scan_error a, enum scan_error::code b) noexcept
3850
0
{
3851
0
    return a.code() == b;
3852
0
}
3853
constexpr bool operator!=(scan_error a, enum scan_error::code b) noexcept
3854
0
{
3855
0
    return !(a == b);
3856
0
}
3857
3858
constexpr bool operator==(enum scan_error::code a, scan_error b) noexcept
3859
0
{
3860
0
    return a == b.code();
3861
0
}
3862
constexpr bool operator!=(enum scan_error::code a, scan_error b) noexcept
3863
0
{
3864
0
    return !(a == b);
3865
0
}
3866
3867
namespace detail {
3868
// Intentionally not constexpr, to give out a compile-time error
3869
SCN_COLD scan_error handle_error(scan_error e);
3870
}  // namespace detail
3871
3872
#if SCN_HAS_EXCEPTIONS
3873
3874
namespace detail {
3875
3876
SCN_CLANG_PUSH
3877
SCN_CLANG_IGNORE("-Wweak-vtables")
3878
3879
class scan_format_string_error_base : public std::runtime_error {
3880
public:
3881
    explicit scan_format_string_error_base(const std::string& what_arg)
3882
        : runtime_error(what_arg)
3883
0
    {
3884
0
    }
3885
3886
    explicit scan_format_string_error_base(std::false_type,
3887
                                           const char* what_arg)
3888
        : runtime_error(what_arg)
3889
0
    {
3890
0
    }
3891
3892
    explicit scan_format_string_error_base(std::true_type, const char* what_arg)
3893
        : runtime_error(what_arg), m_internal_literal_msg(what_arg)
3894
0
    {
3895
0
    }
3896
3897
    // Doing everything in a `detail::` base class
3898
    // to make this a `friend` inside that namespace
3899
    // (essentially private)
3900
    friend const char* get_internal_literal_msg(
3901
        const scan_format_string_error_base& m)
3902
0
    {
3903
0
        return m.m_internal_literal_msg;
3904
0
    }
3905
3906
private:
3907
    const char* m_internal_literal_msg{nullptr};
3908
};
3909
3910
}  // namespace detail
3911
3912
/**
3913
 * An exception type used to report format string parsing errors.
3914
 */
3915
class scan_format_string_error : public detail::scan_format_string_error_base {
3916
public:
3917
    // Not `using` constructors to document them explicitly.
3918
3919
    /**
3920
     * Construct from a `std::string`.
3921
     */
3922
    explicit scan_format_string_error(const std::string& what_arg)
3923
        : scan_format_string_error_base(what_arg)
3924
0
    {
3925
0
    }
3926
3927
    /**
3928
     * Construct from a `const char*`.
3929
     */
3930
    explicit scan_format_string_error(const char* what_arg)
3931
        : scan_format_string_error_base(std::false_type{}, what_arg)
3932
0
    {
3933
0
    }
3934
3935
    /**
3936
     * Construct from a string literal.
3937
     */
3938
    template <std::size_t N>
3939
    explicit scan_format_string_error(const char (&what_arg)[N])
3940
        : scan_format_string_error_base(std::true_type{}, what_arg)
3941
    {
3942
    }
3943
};
3944
3945
SCN_CLANG_POP  // -Wweak-vtables
3946
#endif
3947
3948
    /**
3949
     * An `expected<T, scan_error>`.
3950
     *
3951
     * Not a type alias to shorten template names.
3952
     *
3953
     * \ingroup result
3954
     */
3955
    template <typename T>
3956
    struct scan_expected : public expected<T, scan_error> {
3957
    using expected<T, scan_error>::expected;
3958
3959
    scan_expected(const expected<T, scan_error>& other)
3960
        : expected<T, scan_error>(other)
3961
    {
3962
    }
3963
    scan_expected(expected<T, scan_error>&& other)
3964
417k
        : expected<T, scan_error>(SCN_MOVE(other))
3965
417k
    {
3966
417k
    }
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::scan_expected(scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>&&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::scan_expected(scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::scan_error>&&)
Unexecuted instantiation: scn::v4::scan_expected<char const*>::scan_expected(scn::v4::expected<char const*, scn::v4::scan_error>&&)
scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>::scan_expected(scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::scan_error>&&)
Line
Count
Source
3964
309k
        : expected<T, scan_error>(SCN_MOVE(other))
3965
309k
    {
3966
309k
    }
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::scan_expected(scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>&&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::scan_expected(scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::scan_error>&&)
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*>::scan_expected(scn::v4::expected<wchar_t const*, scn::v4::scan_error>&&)
scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>::scan_expected(scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::scan_error>&&)
Line
Count
Source
3964
107k
        : expected<T, scan_error>(SCN_MOVE(other))
3965
107k
    {
3966
107k
    }
3967
};
3968
3969
namespace detail {
3970
constexpr auto unexpected_scan_error(enum scan_error::code c, const char* m)
3971
592k
{
3972
592k
    return unexpected(scan_error{c, m});
3973
592k
}
3974
3975
template <typename T>
3976
struct is_expected_impl<scan_expected<T>> : std::true_type {};
3977
}  // namespace detail
3978
3979
783k
#define SCN_TRY_IMPL_CONCAT(a, b)  a##b
3980
783k
#define SCN_TRY_IMPL_CONCAT2(a, b) SCN_TRY_IMPL_CONCAT(a, b)
3981
783k
#define SCN_TRY_TMP                SCN_TRY_IMPL_CONCAT2(_scn_try_tmp_, __LINE__)
3982
3983
#define SCN_TRY_DISCARD(x)                                          \
3984
1.43M
    do {                                                            \
3985
1.43M
        if (auto&& SCN_TRY_TMP = (x); SCN_UNLIKELY(!SCN_TRY_TMP)) { \
3986
0
            return ::scn::unexpected(SCN_TRY_TMP.error());          \
3987
0
        }                                                           \
3988
1.43M
    } while (false)
3989
3990
#define SCN_TRY_ASSIGN(init, x)                        \
3991
9.00M
    auto&& SCN_TRY_TMP = (x);                          \
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_ENKUlRKSK_E0_clINS9_INS1_27counted_width_iterator_impl22counted_width_iteratorISD_SE_EENSG_8sentinelILb1EEEEEEEDaSR_
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_ENKUlRKSK_E_clINS9_INS1_27counted_width_iterator_impl22counted_width_iteratorISD_SE_EENSG_8sentinelILb1EEEEEEEDaSR_
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_ENKUlRKSI_E0_clISE_EEDaSP_
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_ENKUlRKSI_E_clISE_EEDaSP_
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_ENKUlRKSH_E0_clINS9_INS1_27counted_width_iterator_impl22counted_width_iteratorISB_SB_EENSD_8sentinelILb1EEEEEEEDaSO_
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_ENKUlRKSH_E_clINS9_INS1_27counted_width_iterator_impl22counted_width_iteratorISB_SB_EENSD_8sentinelILb1EEEEEEEDaSO_
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_ENKUlRKSF_E0_clISB_EEDaSM_
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_ENKUlRKSF_E_clISB_EEDaSM_
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_ENKUlRKSK_E0_clINS9_INS1_27counted_width_iterator_impl22counted_width_iteratorISD_SE_EENSG_8sentinelILb1EEEEEEEDaSR_
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_ENKUlRKSK_E_clINS9_INS1_27counted_width_iterator_impl22counted_width_iteratorISD_SE_EENSG_8sentinelILb1EEEEEEEDaSR_
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_ENKUlRKSI_E0_clISE_EEDaSP_
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_ENKUlRKSI_E_clISE_EEDaSP_
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_ENKUlRKSH_E0_clINS9_INS1_27counted_width_iterator_impl22counted_width_iteratorISB_SB_EENSD_8sentinelILb1EEEEEEEDaSO_
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_ENKUlRKSH_E_clINS9_INS1_27counted_width_iterator_impl22counted_width_iteratorISB_SB_EENSD_8sentinelILb1EEEEEEEDaSO_
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_ENKUlRKSF_E0_clISB_EEDaSM_
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_ENKUlRKSF_E_clISB_EEDaSM_
3992
9.00M
    if (SCN_UNLIKELY(!SCN_TRY_TMP)) {                  \
3993
783k
        return ::scn::unexpected(SCN_TRY_TMP.error()); \
3994
783k
    }                                                  \
3995
9.00M
    init = *SCN_FWD(SCN_TRY_TMP)
3996
8.15M
#define SCN_TRY(name, x) SCN_TRY_ASSIGN(auto name, x)
3997
3998
/////////////////////////////////////////////////////////////////
3999
// string_view utilities
4000
/////////////////////////////////////////////////////////////////
4001
4002
namespace detail {
4003
4004
template <typename T>
4005
struct is_string_view : std::false_type {};
4006
template <typename CharT, typename Traits>
4007
struct is_string_view<std::basic_string_view<CharT, Traits>> : std::true_type {
4008
};
4009
4010
// workarounds for MSVC string_view debug iterators
4011
template <typename CharT>
4012
constexpr std::basic_string_view<CharT> make_string_view_from_iterators(
4013
    typename std::basic_string_view<CharT>::iterator first,
4014
    typename std::basic_string_view<CharT>::iterator last)
4015
593k
{
4016
    if constexpr (std::is_constructible_v<std::basic_string_view<CharT>,
4017
                                          decltype(first), decltype(last)> &&
4018
                  !SCN_MSVC_DEBUG_ITERATORS) {
4019
        return {first, last};
4020
    }
4021
593k
    else {
4022
593k
        return {to_address(first), static_cast<size_t>(std::distance(
4023
593k
                                       to_address(first), to_address(last)))};
4024
593k
    }
4025
593k
}
std::__1::basic_string_view<char, std::__1::char_traits<char> > scn::v4::detail::make_string_view_from_iterators<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >::iterator, std::__1::basic_string_view<char, std::__1::char_traits<char> >::iterator)
Line
Count
Source
4015
593k
{
4016
    if constexpr (std::is_constructible_v<std::basic_string_view<CharT>,
4017
                                          decltype(first), decltype(last)> &&
4018
                  !SCN_MSVC_DEBUG_ITERATORS) {
4019
        return {first, last};
4020
    }
4021
593k
    else {
4022
593k
        return {to_address(first), static_cast<size_t>(std::distance(
4023
593k
                                       to_address(first), to_address(last)))};
4024
593k
    }
4025
593k
}
Unexecuted instantiation: std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > scn::v4::detail::make_string_view_from_iterators<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >::iterator, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >::iterator)
4026
4027
template <typename CharT>
4028
constexpr std::basic_string_view<CharT> make_string_view_from_pointers(
4029
    const CharT* first,
4030
    const CharT* last)
4031
597k
{
4032
    if constexpr (std::is_constructible_v<std::basic_string_view<CharT>,
4033
                                          const CharT*, const CharT*>) {
4034
        return {first, last};
4035
    }
4036
597k
    else {
4037
597k
        return {first, static_cast<size_t>(std::distance(first, last))};
4038
597k
    }
4039
597k
}
std::__1::basic_string_view<char, std::__1::char_traits<char> > scn::v4::detail::make_string_view_from_pointers<char>(char const*, char const*)
Line
Count
Source
4031
592k
{
4032
    if constexpr (std::is_constructible_v<std::basic_string_view<CharT>,
4033
                                          const CharT*, const CharT*>) {
4034
        return {first, last};
4035
    }
4036
592k
    else {
4037
592k
        return {first, static_cast<size_t>(std::distance(first, last))};
4038
592k
    }
4039
592k
}
std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > scn::v4::detail::make_string_view_from_pointers<wchar_t>(wchar_t const*, wchar_t const*)
Line
Count
Source
4031
5.47k
{
4032
    if constexpr (std::is_constructible_v<std::basic_string_view<CharT>,
4033
                                          const CharT*, const CharT*>) {
4034
        return {first, last};
4035
    }
4036
5.47k
    else {
4037
5.47k
        return {first, static_cast<size_t>(std::distance(first, last))};
4038
5.47k
    }
4039
5.47k
}
4040
4041
template <typename CharT>
4042
constexpr auto make_string_view_iterator(
4043
    std::basic_string_view<CharT> sv,
4044
    typename std::basic_string_view<CharT>::iterator it) ->
4045
    typename std::basic_string_view<CharT>::iterator
4046
1.37M
{
4047
    if constexpr (std::is_constructible_v<
4048
                      typename std::basic_string_view<CharT>::iterator,
4049
                      decltype(it)> &&
4050
1.37M
                  !SCN_MSVC_DEBUG_ITERATORS) {
4051
1.37M
        SCN_UNUSED(sv);
4052
1.37M
        return it;
4053
    }
4054
    else {
4055
        return sv.begin() + std::distance(sv.data(), detail::to_address(it));
4056
    }
4057
1.37M
}
std::__1::basic_string_view<char, std::__1::char_traits<char> >::iterator scn::v4::detail::make_string_view_iterator<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >::iterator)
Line
Count
Source
4046
1.37M
{
4047
    if constexpr (std::is_constructible_v<
4048
                      typename std::basic_string_view<CharT>::iterator,
4049
                      decltype(it)> &&
4050
1.37M
                  !SCN_MSVC_DEBUG_ITERATORS) {
4051
1.37M
        SCN_UNUSED(sv);
4052
1.37M
        return it;
4053
    }
4054
    else {
4055
        return sv.begin() + std::distance(sv.data(), detail::to_address(it));
4056
    }
4057
1.37M
}
Unexecuted instantiation: std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >::iterator scn::v4::detail::make_string_view_iterator<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >::iterator)
4058
4059
template <typename CharT>
4060
constexpr auto make_string_view_iterator_from_pointer(
4061
    std::basic_string_view<CharT> sv,
4062
    const CharT* ptr) -> typename std::basic_string_view<CharT>::iterator
4063
{
4064
    if constexpr (std::is_constructible_v<
4065
                      typename std::basic_string_view<CharT>::iterator,
4066
                      const CharT*> &&
4067
                  !SCN_MSVC_DEBUG_ITERATORS) {
4068
        SCN_UNUSED(sv);
4069
        return ptr;
4070
    }
4071
    else {
4072
        return sv.begin() + std::distance(sv.data(), ptr);
4073
    }
4074
}
4075
4076
/////////////////////////////////////////////////////////////////
4077
// Lightweight Unicode facilities
4078
/////////////////////////////////////////////////////////////////
4079
4080
constexpr inline bool is_ascii_code_point(char32_t cp)
4081
0
{
4082
0
    return cp <= 0x7f;
4083
0
}
4084
4085
template <typename U8>
4086
constexpr std::size_t utf8_code_point_length_by_starting_code_unit(U8 ch)
4087
862k
{
4088
862k
    static_assert(sizeof(U8) == 1);
4089
4090
862k
    SCN_GCC_COMPAT_PUSH
4091
862k
    SCN_GCC_COMPAT_IGNORE("-Wsign-conversion")
4092
862k
    constexpr char lengths[] =
4093
862k
        "\1\1\1\1\1\1\1\1"  // highest bit is 0 -> single-byte
4094
862k
        "\1\1\1\1\1\1\1\1"
4095
862k
        "\0\0\0\0\0\0\0\0"  // highest bits 10 -> error, non-initial
4096
                            // byte
4097
862k
        "\2\2\2\2"          // highest bits 110 -> 2-byte cp
4098
862k
        "\3\3"              // highest bits 1110 -> 3-byte cp
4099
862k
        "\4";               // highest bits 11110 -> 4-byte cp
4100
862k
    return lengths[static_cast<unsigned char>(ch) >> 3];
4101
862k
    SCN_GCC_COMPAT_POP
4102
862k
}
4103
4104
template <typename U16>
4105
constexpr std::size_t utf16_code_point_length_by_starting_code_unit(U16 ch)
4106
{
4107
    static_assert(sizeof(U16) == 2);
4108
4109
    const auto lead = static_cast<uint16_t>(0xffff & ch);
4110
    if (lead >= 0xd800 && lead <= 0xdbff) {
4111
        // high surrogate
4112
        return 2;
4113
    }
4114
    if (lead >= 0xdc00 && lead <= 0xdfff) {
4115
        // unpaired low surrogate
4116
        return 0;
4117
    }
4118
    return 1;
4119
}
4120
4121
template <typename U>
4122
constexpr std::size_t code_point_length_by_starting_code_unit(U ch)
4123
1.11M
{
4124
1.11M
    if constexpr (sizeof(U) == 1) {
4125
862k
        return utf8_code_point_length_by_starting_code_unit(ch);
4126
    }
4127
    else if constexpr (sizeof(U) == 2) {
4128
        return utf16_code_point_length_by_starting_code_unit(ch);
4129
    }
4130
255k
    else {
4131
        // utf-32
4132
255k
        static_assert(sizeof(U) == 4);
4133
255k
        SCN_UNUSED(ch);
4134
255k
        return 1;
4135
255k
    }
4136
1.11M
}
unsigned long scn::v4::detail::code_point_length_by_starting_code_unit<char>(char)
Line
Count
Source
4123
862k
{
4124
862k
    if constexpr (sizeof(U) == 1) {
4125
862k
        return utf8_code_point_length_by_starting_code_unit(ch);
4126
    }
4127
    else if constexpr (sizeof(U) == 2) {
4128
        return utf16_code_point_length_by_starting_code_unit(ch);
4129
    }
4130
    else {
4131
        // utf-32
4132
        static_assert(sizeof(U) == 4);
4133
        SCN_UNUSED(ch);
4134
        return 1;
4135
    }
4136
862k
}
unsigned long scn::v4::detail::code_point_length_by_starting_code_unit<wchar_t>(wchar_t)
Line
Count
Source
4123
255k
{
4124
    if constexpr (sizeof(U) == 1) {
4125
        return utf8_code_point_length_by_starting_code_unit(ch);
4126
    }
4127
    else if constexpr (sizeof(U) == 2) {
4128
        return utf16_code_point_length_by_starting_code_unit(ch);
4129
    }
4130
255k
    else {
4131
        // utf-32
4132
255k
        static_assert(sizeof(U) == 4);
4133
255k
        SCN_UNUSED(ch);
4134
255k
        return 1;
4135
255k
    }
4136
255k
}
4137
4138
inline constexpr char32_t invalid_code_point = 0x110000;
4139
4140
inline constexpr char32_t decode_utf8_code_point_exhaustive(
4141
    std::string_view input)
4142
845k
{
4143
845k
    SCN_EXPECT(!input.empty() && input.size() <= 4);
4144
4145
845k
    const auto is_trailing_code_unit = [](char ch) {
4146
13.0k
        return static_cast<unsigned char>(ch) >> 6 == 0x2;
4147
13.0k
    };
4148
4149
845k
    if (input.size() == 1) {
4150
836k
        if (static_cast<unsigned char>(input[0]) >= 0x80) {
4151
1.01k
            SCN_UNLIKELY_ATTR
4152
1.01k
            return invalid_code_point;
4153
1.01k
        }
4154
835k
        return static_cast<char32_t>(input[0]);
4155
836k
    }
4156
4157
8.97k
    if (input.size() == 2) {
4158
3.65k
        if ((static_cast<unsigned char>(input[0]) & 0xe0) != 0xc0) {
4159
44
            SCN_UNLIKELY_ATTR
4160
44
            return invalid_code_point;
4161
44
        }
4162
3.61k
        if (!is_trailing_code_unit(input[1])) {
4163
830
            SCN_UNLIKELY_ATTR
4164
830
            return invalid_code_point;
4165
830
        }
4166
4167
2.78k
        char32_t cp{};
4168
2.78k
        cp |= (static_cast<char32_t>(input[0]) & 0x1f) << 6;
4169
2.78k
        cp |= (static_cast<char32_t>(input[1]) & 0x3f) << 0;
4170
2.78k
        return cp;
4171
3.61k
    }
4172
4173
5.31k
    if (input.size() == 3) {
4174
4.14k
        if ((static_cast<unsigned char>(input[0]) & 0xf0) != 0xe0) {
4175
53
            SCN_UNLIKELY_ATTR
4176
53
            return invalid_code_point;
4177
53
        }
4178
4.08k
        if (!is_trailing_code_unit(input[1]) ||
4179
4.08k
            !is_trailing_code_unit(input[2])) {
4180
873
            SCN_UNLIKELY_ATTR
4181
873
            return invalid_code_point;
4182
873
        }
4183
4184
3.21k
        char32_t cp{};
4185
3.21k
        cp |= (static_cast<char32_t>(input[0]) & 0x0f) << 12;
4186
3.21k
        cp |= (static_cast<char32_t>(input[1]) & 0x3f) << 6;
4187
3.21k
        cp |= (static_cast<char32_t>(input[2]) & 0x3f) << 0;
4188
3.21k
        return cp;
4189
4.08k
    }
4190
4191
1.17k
    if (input.size() == 4) {
4192
1.17k
        if ((static_cast<unsigned char>(input[0]) & 0xf8) != 0xf0) {
4193
0
            SCN_UNLIKELY_ATTR
4194
0
            return invalid_code_point;
4195
0
        }
4196
1.17k
        if (static_cast<unsigned char>(input[0]) > 0xf4) {
4197
275
            SCN_UNLIKELY_ATTR
4198
275
            return invalid_code_point;
4199
275
        }
4200
901
        if (!is_trailing_code_unit(input[1]) ||
4201
901
            !is_trailing_code_unit(input[2]) ||
4202
901
            !is_trailing_code_unit(input[3])) {
4203
414
            SCN_UNLIKELY_ATTR
4204
414
            return invalid_code_point;
4205
414
        }
4206
4207
487
        char32_t cp{};
4208
487
        cp |= (static_cast<char32_t>(input[0]) & 0x07) << 18;
4209
487
        cp |= (static_cast<char32_t>(input[1]) & 0x3f) << 12;
4210
487
        cp |= (static_cast<char32_t>(input[2]) & 0x3f) << 6;
4211
487
        cp |= (static_cast<char32_t>(input[3]) & 0x3f) << 0;
4212
487
        return cp;
4213
901
    }
4214
4215
0
#if !SCN_GCC || SCN_GCC >= SCN_COMPILER(8, 0, 0)
4216
    // gcc 7 thinks we'll get here, even when we won't
4217
0
    SCN_EXPECT(false);
4218
0
#endif
4219
0
    SCN_UNREACHABLE;
4220
0
}
4221
4222
inline constexpr char32_t decode_utf8_code_point_exhaustive_valid(
4223
    std::string_view input)
4224
0
{
4225
0
    SCN_EXPECT(!input.empty() && input.size() <= 4);
4226
4227
0
    const auto is_trailing_code_unit = [](char ch) {
4228
0
        return static_cast<unsigned char>(ch) >> 6 == 0x2;
4229
0
    };
4230
4231
0
    if (input.size() == 1) {
4232
0
        SCN_EXPECT(static_cast<unsigned char>(input[0]) < 0x80);
4233
0
        return static_cast<char32_t>(input[0]);
4234
0
    }
4235
4236
0
    if (input.size() == 2) {
4237
0
        SCN_EXPECT((static_cast<unsigned char>(input[0]) & 0xe0) == 0xc0);
4238
0
        SCN_EXPECT(is_trailing_code_unit(input[1]));
4239
4240
0
        char32_t cp{};
4241
0
        cp |= (static_cast<char32_t>(input[0]) & 0x1f) << 6;
4242
0
        cp |= (static_cast<char32_t>(input[1]) & 0x3f) << 0;
4243
0
        return cp;
4244
0
    }
4245
4246
0
    if (input.size() == 3) {
4247
0
        SCN_EXPECT((static_cast<unsigned char>(input[0]) & 0xf0) == 0xe0);
4248
0
        SCN_EXPECT(is_trailing_code_unit(input[1]));
4249
0
        SCN_EXPECT(is_trailing_code_unit(input[2]));
4250
4251
0
        char32_t cp{};
4252
0
        cp |= (static_cast<char32_t>(input[0]) & 0x0f) << 12;
4253
0
        cp |= (static_cast<char32_t>(input[1]) & 0x3f) << 6;
4254
0
        cp |= (static_cast<char32_t>(input[2]) & 0x3f) << 0;
4255
0
        return cp;
4256
0
    }
4257
4258
0
    if (input.size() == 4) {
4259
0
        SCN_EXPECT((static_cast<unsigned char>(input[0]) & 0xf8) == 0xf0);
4260
0
        SCN_EXPECT(static_cast<unsigned char>(input[0]) <= 0xf4);
4261
0
        SCN_EXPECT(is_trailing_code_unit(input[1]));
4262
0
        SCN_EXPECT(is_trailing_code_unit(input[2]));
4263
0
        SCN_EXPECT(is_trailing_code_unit(input[3]));
4264
4265
0
        char32_t cp{};
4266
0
        cp |= (static_cast<char32_t>(input[0]) & 0x07) << 18;
4267
0
        cp |= (static_cast<char32_t>(input[1]) & 0x3f) << 12;
4268
0
        cp |= (static_cast<char32_t>(input[2]) & 0x3f) << 6;
4269
0
        cp |= (static_cast<char32_t>(input[3]) & 0x3f) << 0;
4270
0
        return cp;
4271
0
    }
4272
4273
0
#if !SCN_GCC || SCN_GCC >= SCN_COMPILER(8, 0, 0)
4274
    // gcc 7 thinks we'll get here, even when we won't
4275
0
    SCN_EXPECT(false);
4276
0
#endif
4277
0
    SCN_UNREACHABLE;
4278
0
}
4279
4280
template <typename CharT>
4281
inline constexpr char32_t decode_utf16_code_point_exhaustive(
4282
    std::basic_string_view<CharT> input)
4283
{
4284
    static_assert(sizeof(CharT) == 2);
4285
4286
    SCN_EXPECT(!input.empty() && input.size() <= 2);
4287
4288
    if (input.size() == 1) {
4289
        return static_cast<char32_t>(input[0]);
4290
    }
4291
4292
    const auto lead = static_cast<uint32_t>(input[0]);
4293
    const auto trail = static_cast<uint32_t>(input[1]);
4294
    if (lead < 0xd800 || lead > 0xdbff || trail < 0xdc00 || trail > 0xdfff) {
4295
        SCN_UNLIKELY_ATTR
4296
        return invalid_code_point;
4297
    }
4298
4299
    const auto cp = ((lead - 0xd800) << 10) | (trail - 0xdc00);
4300
    return static_cast<char32_t>(cp + 0x10000);
4301
}
4302
4303
template <typename CharT>
4304
inline constexpr char32_t decode_utf16_code_point_exhaustive_valid(
4305
    std::basic_string_view<CharT> input)
4306
{
4307
    static_assert(sizeof(CharT) == 2);
4308
4309
    SCN_EXPECT(!input.empty() && input.size() <= 2);
4310
4311
    if (input.size() == 1) {
4312
        return static_cast<char32_t>(input[0]);
4313
    }
4314
4315
    const auto lead = static_cast<uint32_t>(input[0]);
4316
    const auto trail = static_cast<uint32_t>(input[1]);
4317
    SCN_EXPECT(lead >= 0xd800);
4318
    SCN_EXPECT(lead <= 0xdbff);
4319
    SCN_EXPECT(trail >= 0xdc00);
4320
    SCN_EXPECT(trail <= 0xdfff);
4321
4322
    const auto cp = ((lead - 0xd800) << 10) | (trail - 0xdc00);
4323
    return static_cast<char32_t>(cp + 0x10000);
4324
}
4325
4326
template <typename CharT>
4327
inline constexpr char32_t decode_code_point_exhaustive(
4328
    std::basic_string_view<CharT> input)
4329
1.10M
{
4330
1.10M
    if constexpr (sizeof(CharT) == 1) {
4331
845k
        return decode_utf8_code_point_exhaustive(input);
4332
    }
4333
    else if constexpr (sizeof(CharT) == 2) {
4334
        return decode_utf16_code_point_exhaustive(input);
4335
    }
4336
255k
    else {
4337
255k
        SCN_EXPECT(input.size() == 1);
4338
255k
        auto cp = static_cast<char32_t>(input.front());
4339
255k
        if (SCN_UNLIKELY(cp >= invalid_code_point)) {
4340
105k
            return invalid_code_point;
4341
105k
        }
4342
149k
        return cp;
4343
255k
    }
4344
1.10M
}
char32_t scn::v4::detail::decode_code_point_exhaustive<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
4329
845k
{
4330
845k
    if constexpr (sizeof(CharT) == 1) {
4331
845k
        return decode_utf8_code_point_exhaustive(input);
4332
    }
4333
    else if constexpr (sizeof(CharT) == 2) {
4334
        return decode_utf16_code_point_exhaustive(input);
4335
    }
4336
    else {
4337
        SCN_EXPECT(input.size() == 1);
4338
        auto cp = static_cast<char32_t>(input.front());
4339
        if (SCN_UNLIKELY(cp >= invalid_code_point)) {
4340
            return invalid_code_point;
4341
        }
4342
        return cp;
4343
    }
4344
845k
}
char32_t scn::v4::detail::decode_code_point_exhaustive<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
Line
Count
Source
4329
255k
{
4330
    if constexpr (sizeof(CharT) == 1) {
4331
        return decode_utf8_code_point_exhaustive(input);
4332
    }
4333
    else if constexpr (sizeof(CharT) == 2) {
4334
        return decode_utf16_code_point_exhaustive(input);
4335
    }
4336
255k
    else {
4337
255k
        SCN_EXPECT(input.size() == 1);
4338
255k
        auto cp = static_cast<char32_t>(input.front());
4339
255k
        if (SCN_UNLIKELY(cp >= invalid_code_point)) {
4340
105k
            return invalid_code_point;
4341
105k
        }
4342
149k
        return cp;
4343
255k
    }
4344
255k
}
4345
4346
template <typename CharT>
4347
inline constexpr char32_t decode_code_point_exhaustive_valid(
4348
    std::basic_string_view<CharT> input)
4349
0
{
4350
0
    if constexpr (sizeof(CharT) == 1) {
4351
0
        return decode_utf8_code_point_exhaustive_valid(input);
4352
    }
4353
    else if constexpr (sizeof(CharT) == 2) {
4354
        return decode_utf16_code_point_exhaustive_valid(input);
4355
    }
4356
0
    else {
4357
0
        SCN_EXPECT(input.size() == 1);
4358
0
        return static_cast<char32_t>(input.front());
4359
0
    }
4360
0
}
Unexecuted instantiation: char32_t scn::v4::detail::decode_code_point_exhaustive_valid<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Unexecuted instantiation: char32_t scn::v4::detail::decode_code_point_exhaustive_valid<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
4361
4362
inline constexpr bool is_cp_space(char32_t cp) noexcept
4363
1.05M
{
4364
    // Pattern_White_Space property
4365
1.05M
    return (cp >= 0x09 && cp <= 0x0d) ||
4366
1.05M
           cp == 0x20 ||    // ASCII space characters
4367
1.05M
           cp == 0x85 ||    // NEXT LINE (NEL)
4368
1.05M
           cp == 0x200e ||  // LEFT-TO-RIGHT MARK
4369
1.05M
           cp == 0x200f ||  // RIGHT-TO-LEFT MARK
4370
1.05M
           cp == 0x2028 ||  // LINE SEPARATOR
4371
1.05M
           cp == 0x2029;    // PARAGRAPH SEPARATOR
4372
1.05M
}
4373
4374
}  // namespace detail
4375
4376
/////////////////////////////////////////////////////////////////
4377
// scan_buffer
4378
/////////////////////////////////////////////////////////////////
4379
4380
namespace detail {
4381
template <typename CharT>
4382
class basic_scan_buffer {
4383
public:
4384
    class forward_iterator;
4385
    class common_forward_iterator;
4386
4387
    using char_type = CharT;
4388
    using range_type =
4389
        ranges::subrange<forward_iterator, ranges::default_sentinel_t>;
4390
    using common_range_type = ranges::subrange<common_forward_iterator>;
4391
4392
    basic_scan_buffer(const basic_scan_buffer&) = delete;
4393
    basic_scan_buffer& operator=(const basic_scan_buffer&) = delete;
4394
    basic_scan_buffer(basic_scan_buffer&&) = delete;
4395
    basic_scan_buffer& operator=(basic_scan_buffer&&) = delete;
4396
625k
    virtual ~basic_scan_buffer() = default;
scn::v4::detail::basic_scan_buffer<char>::~basic_scan_buffer()
Line
Count
Source
4396
449k
    virtual ~basic_scan_buffer() = default;
scn::v4::detail::basic_scan_buffer<wchar_t>::~basic_scan_buffer()
Line
Count
Source
4396
176k
    virtual ~basic_scan_buffer() = default;
4397
4398
    virtual bool fill() = 0;
4399
4400
    virtual bool sync(std::ptrdiff_t position)
4401
625k
    {
4402
625k
        SCN_UNUSED(position);
4403
625k
        return true;
4404
625k
    }
scn::v4::detail::basic_scan_buffer<char>::sync(long)
Line
Count
Source
4401
449k
    {
4402
449k
        SCN_UNUSED(position);
4403
449k
        return true;
4404
449k
    }
scn::v4::detail::basic_scan_buffer<wchar_t>::sync(long)
Line
Count
Source
4401
176k
    {
4402
176k
        SCN_UNUSED(position);
4403
176k
        return true;
4404
176k
    }
4405
4406
    bool sync_all()
4407
260k
    {
4408
260k
        return sync(0);
4409
260k
    }
scn::v4::detail::basic_scan_buffer<char>::sync_all()
Line
Count
Source
4407
86.6k
    {
4408
86.6k
        return sync(0);
4409
86.6k
    }
scn::v4::detail::basic_scan_buffer<wchar_t>::sync_all()
Line
Count
Source
4407
173k
    {
4408
173k
        return sync(0);
4409
173k
    }
4410
4411
    SCN_NODISCARD std::ptrdiff_t chars_available() const
4412
69.4G
    {
4413
69.4G
        return static_cast<std::ptrdiff_t>(m_putback_buffer.size() +
4414
69.4G
                                           m_current_view.size());
4415
69.4G
    }
scn::v4::detail::basic_scan_buffer<wchar_t>::chars_available() const
Line
Count
Source
4412
69.4G
    {
4413
69.4G
        return static_cast<std::ptrdiff_t>(m_putback_buffer.size() +
4414
69.4G
                                           m_current_view.size());
4415
69.4G
    }
scn::v4::detail::basic_scan_buffer<char>::chars_available() const
Line
Count
Source
4412
24.5M
    {
4413
24.5M
        return static_cast<std::ptrdiff_t>(m_putback_buffer.size() +
4414
24.5M
                                           m_current_view.size());
4415
24.5M
    }
4416
4417
    SCN_NODISCARD std::basic_string_view<CharT> current_view() const
4418
0
    {
4419
0
        return m_current_view;
4420
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::current_view() const
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::current_view() const
4421
4422
    SCN_NODISCARD std::basic_string<CharT>& putback_buffer()
4423
0
    {
4424
0
        return m_putback_buffer;
4425
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::putback_buffer()
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::putback_buffer()
4426
    SCN_NODISCARD const std::basic_string<CharT>& putback_buffer() const
4427
    {
4428
        return m_putback_buffer;
4429
    }
4430
4431
    SCN_GCC_PUSH
4432
    SCN_GCC_IGNORE("-Warray-bounds")
4433
4434
    SCN_NODISCARD std::basic_string_view<CharT> get_segment_starting_at(
4435
        std::ptrdiff_t pos) const
4436
1.54M
    {
4437
1.54M
        SCN_EXPECT(pos >= 0);
4438
1.54M
        const auto upos = static_cast<std::size_t>(pos);
4439
1.54M
        if (SCN_UNLIKELY(upos < m_putback_buffer.size())) {
4440
380k
            return std::basic_string_view<CharT>(m_putback_buffer).substr(upos);
4441
380k
        }
4442
1.16M
        const auto start = upos - m_putback_buffer.size();
4443
1.16M
        SCN_EXPECT(start <= m_current_view.size());
4444
1.16M
        return m_current_view.substr(start);
4445
1.16M
    }
scn::v4::detail::basic_scan_buffer<char>::get_segment_starting_at(long) const
Line
Count
Source
4436
1.41M
    {
4437
1.41M
        SCN_EXPECT(pos >= 0);
4438
1.41M
        const auto upos = static_cast<std::size_t>(pos);
4439
1.41M
        if (SCN_UNLIKELY(upos < m_putback_buffer.size())) {
4440
377k
            return std::basic_string_view<CharT>(m_putback_buffer).substr(upos);
4441
377k
        }
4442
1.03M
        const auto start = upos - m_putback_buffer.size();
4443
1.03M
        SCN_EXPECT(start <= m_current_view.size());
4444
1.03M
        return m_current_view.substr(start);
4445
1.03M
    }
scn::v4::detail::basic_scan_buffer<wchar_t>::get_segment_starting_at(long) const
Line
Count
Source
4436
132k
    {
4437
132k
        SCN_EXPECT(pos >= 0);
4438
132k
        const auto upos = static_cast<std::size_t>(pos);
4439
132k
        if (SCN_UNLIKELY(upos < m_putback_buffer.size())) {
4440
2.71k
            return std::basic_string_view<CharT>(m_putback_buffer).substr(upos);
4441
2.71k
        }
4442
129k
        const auto start = upos - m_putback_buffer.size();
4443
129k
        SCN_EXPECT(start <= m_current_view.size());
4444
129k
        return m_current_view.substr(start);
4445
129k
    }
4446
4447
    SCN_NODISCARD CharT get_character_at(std::ptrdiff_t pos) const
4448
40.8M
    {
4449
40.8M
        SCN_EXPECT(pos >= 0);
4450
40.8M
        const auto upos = static_cast<std::size_t>(pos);
4451
40.8M
        if (SCN_UNLIKELY(upos < m_putback_buffer.size())) {
4452
4.54M
            return m_putback_buffer[upos];
4453
4.54M
        }
4454
36.3M
        const auto start = upos - m_putback_buffer.size();
4455
36.3M
        SCN_EXPECT(start < m_current_view.size());
4456
36.3M
        return m_current_view[start];
4457
36.3M
    }
scn::v4::detail::basic_scan_buffer<char>::get_character_at(long) const
Line
Count
Source
4448
6.15M
    {
4449
6.15M
        SCN_EXPECT(pos >= 0);
4450
6.15M
        const auto upos = static_cast<std::size_t>(pos);
4451
6.15M
        if (SCN_UNLIKELY(upos < m_putback_buffer.size())) {
4452
3.91M
            return m_putback_buffer[upos];
4453
3.91M
        }
4454
2.24M
        const auto start = upos - m_putback_buffer.size();
4455
2.24M
        SCN_EXPECT(start < m_current_view.size());
4456
2.24M
        return m_current_view[start];
4457
2.24M
    }
scn::v4::detail::basic_scan_buffer<wchar_t>::get_character_at(long) const
Line
Count
Source
4448
34.7M
    {
4449
34.7M
        SCN_EXPECT(pos >= 0);
4450
34.7M
        const auto upos = static_cast<std::size_t>(pos);
4451
34.7M
        if (SCN_UNLIKELY(upos < m_putback_buffer.size())) {
4452
633k
            return m_putback_buffer[upos];
4453
633k
        }
4454
34.0M
        const auto start = upos - m_putback_buffer.size();
4455
34.0M
        SCN_EXPECT(start < m_current_view.size());
4456
34.0M
        return m_current_view[start];
4457
34.0M
    }
4458
4459
    SCN_GCC_POP
4460
4461
    SCN_NODISCARD bool is_contiguous() const
4462
1.87M
    {
4463
1.87M
        return m_is_contiguous;
4464
1.87M
    }
scn::v4::detail::basic_scan_buffer<char>::is_contiguous() const
Line
Count
Source
4462
1.34M
    {
4463
1.34M
        return m_is_contiguous;
4464
1.34M
    }
scn::v4::detail::basic_scan_buffer<wchar_t>::is_contiguous() const
Line
Count
Source
4462
529k
    {
4463
529k
        return m_is_contiguous;
4464
529k
    }
4465
4466
    SCN_NODISCARD auto get_contiguous() const
4467
0
    {
4468
0
        SCN_EXPECT(is_contiguous());
4469
0
        return ranges::subrange<const CharT*>{
4470
0
            current_view().data(),
4471
0
            current_view().data() + current_view().size()};
4472
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::get_contiguous() const
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::get_contiguous() const
4473
4474
    SCN_NODISCARD range_type get();
4475
    SCN_NODISCARD common_range_type get_common_range();
4476
4477
protected:
4478
    friend class forward_iterator;
4479
    friend class common_forward_iterator;
4480
4481
    struct contiguous_tag {};
4482
    struct non_contiguous_tag {};
4483
4484
    basic_scan_buffer(contiguous_tag, std::basic_string_view<char_type> sv)
4485
0
        : m_current_view(sv), m_is_contiguous(true)
4486
0
    {
4487
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::basic_scan_buffer(scn::v4::detail::basic_scan_buffer<char>::contiguous_tag, std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::basic_scan_buffer(scn::v4::detail::basic_scan_buffer<wchar_t>::contiguous_tag, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
4488
4489
    basic_scan_buffer(non_contiguous_tag,
4490
                      std::basic_string_view<char_type> sv = {})
4491
625k
        : m_current_view(sv), m_is_contiguous(false)
4492
625k
    {
4493
625k
    }
scn::v4::detail::basic_scan_buffer<char>::basic_scan_buffer(scn::v4::detail::basic_scan_buffer<char>::non_contiguous_tag, std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
4491
449k
        : m_current_view(sv), m_is_contiguous(false)
4492
449k
    {
4493
449k
    }
scn::v4::detail::basic_scan_buffer<wchar_t>::basic_scan_buffer(scn::v4::detail::basic_scan_buffer<wchar_t>::non_contiguous_tag, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
Line
Count
Source
4491
176k
        : m_current_view(sv), m_is_contiguous(false)
4492
176k
    {
4493
176k
    }
4494
4495
    basic_scan_buffer(bool is_contiguous, std::basic_string_view<char_type> sv)
4496
0
        : m_current_view(sv), m_is_contiguous(is_contiguous)
4497
0
    {
4498
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::basic_scan_buffer(bool, std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::basic_scan_buffer(bool, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
4499
4500
    std::basic_string_view<char_type> m_current_view{};
4501
    std::basic_string<char_type> m_putback_buffer{};
4502
    bool m_is_contiguous{false};
4503
};
4504
4505
template <typename CharT>
4506
class basic_scan_buffer<CharT>::forward_iterator {
4507
public:
4508
    using value_type = CharT;
4509
    using reference = CharT;
4510
    using pointer = CharT*;
4511
    using difference_type = std::ptrdiff_t;
4512
    using iterator_category = std::forward_iterator_tag;
4513
4514
0
    forward_iterator() = default;
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::forward_iterator::forward_iterator()
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator::forward_iterator()
4515
4516
    forward_iterator(basic_scan_buffer<CharT>* parent, std::ptrdiff_t pos)
4517
625k
        : m_begin(parent), m_end(nullptr), m_position(pos)
4518
625k
    {
4519
625k
        SCN_EXPECT(parent);
4520
625k
        SCN_EXPECT(!parent->is_contiguous());
4521
625k
    }
scn::v4::detail::basic_scan_buffer<char>::forward_iterator::forward_iterator(scn::v4::detail::basic_scan_buffer<char>*, long)
Line
Count
Source
4517
449k
        : m_begin(parent), m_end(nullptr), m_position(pos)
4518
449k
    {
4519
449k
        SCN_EXPECT(parent);
4520
449k
        SCN_EXPECT(!parent->is_contiguous());
4521
449k
    }
scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator::forward_iterator(scn::v4::detail::basic_scan_buffer<wchar_t>*, long)
Line
Count
Source
4517
176k
        : m_begin(parent), m_end(nullptr), m_position(pos)
4518
176k
    {
4519
176k
        SCN_EXPECT(parent);
4520
176k
        SCN_EXPECT(!parent->is_contiguous());
4521
176k
    }
4522
4523
    forward_iterator(std::basic_string_view<CharT> view, std::ptrdiff_t pos)
4524
0
        : m_begin(const_cast<CharT*>(view.data())),
4525
0
          m_end(const_cast<CharT*>(view.data() + view.size())),
4526
0
          m_position(pos)
4527
0
    {
4528
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::forward_iterator::forward_iterator(std::__1::basic_string_view<char, std::__1::char_traits<char> >, long)
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator::forward_iterator(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, long)
4529
4530
    std::ptrdiff_t position() const
4531
2.42M
    {
4532
2.42M
        return m_position;
4533
2.42M
    }
scn::v4::detail::basic_scan_buffer<char>::forward_iterator::position() const
Line
Count
Source
4531
2.18M
    {
4532
2.18M
        return m_position;
4533
2.18M
    }
scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator::position() const
Line
Count
Source
4531
237k
    {
4532
237k
        return m_position;
4533
237k
    }
4534
4535
    bool stores_parent() const
4536
138G
    {
4537
138G
        assert(m_begin);
4538
138G
        return m_end == nullptr;
4539
138G
    }
scn::v4::detail::basic_scan_buffer<char>::forward_iterator::stores_parent() const
Line
Count
Source
4536
62.0M
    {
4537
62.0M
        assert(m_begin);
4538
62.0M
        return m_end == nullptr;
4539
62.0M
    }
scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator::stores_parent() const
Line
Count
Source
4536
138G
    {
4537
138G
        assert(m_begin);
4538
138G
        return m_end == nullptr;
4539
138G
    }
4540
4541
    basic_scan_buffer<CharT>* parent()
4542
437k
    {
4543
437k
        SCN_EXPECT(stores_parent());
4544
437k
        return static_cast<basic_scan_buffer<CharT>*>(m_begin);
4545
437k
    }
scn::v4::detail::basic_scan_buffer<char>::forward_iterator::parent()
Line
Count
Source
4542
336k
    {
4543
336k
        SCN_EXPECT(stores_parent());
4544
336k
        return static_cast<basic_scan_buffer<CharT>*>(m_begin);
4545
336k
    }
scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator::parent()
Line
Count
Source
4542
100k
    {
4543
100k
        SCN_EXPECT(stores_parent());
4544
100k
        return static_cast<basic_scan_buffer<CharT>*>(m_begin);
4545
100k
    }
4546
    const basic_scan_buffer<CharT>* parent() const
4547
69.5G
    {
4548
69.5G
        SCN_EXPECT(stores_parent());
4549
69.5G
        return static_cast<const basic_scan_buffer<CharT>*>(m_begin);
4550
69.5G
    }
scn::v4::detail::basic_scan_buffer<char>::forward_iterator::parent() const
Line
Count
Source
4547
34.1M
    {
4548
34.1M
        SCN_EXPECT(stores_parent());
4549
34.1M
        return static_cast<const basic_scan_buffer<CharT>*>(m_begin);
4550
34.1M
    }
scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator::parent() const
Line
Count
Source
4547
69.4G
    {
4548
69.4G
        SCN_EXPECT(stores_parent());
4549
69.4G
        return static_cast<const basic_scan_buffer<CharT>*>(m_begin);
4550
69.4G
    }
4551
4552
    std::basic_string_view<CharT> contiguous_segment() const
4553
1.54M
    {
4554
1.54M
        if (!stores_parent()) {
4555
0
            return make_string_view_from_pointers(
4556
0
                static_cast<const CharT*>(m_begin) + position(),
4557
0
                static_cast<const CharT*>(m_end));
4558
0
        }
4559
1.54M
        return parent()->get_segment_starting_at(position());
4560
1.54M
    }
scn::v4::detail::basic_scan_buffer<char>::forward_iterator::contiguous_segment() const
Line
Count
Source
4553
1.41M
    {
4554
1.41M
        if (!stores_parent()) {
4555
0
            return make_string_view_from_pointers(
4556
0
                static_cast<const CharT*>(m_begin) + position(),
4557
0
                static_cast<const CharT*>(m_end));
4558
0
        }
4559
1.41M
        return parent()->get_segment_starting_at(position());
4560
1.41M
    }
scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator::contiguous_segment() const
Line
Count
Source
4553
132k
    {
4554
132k
        if (!stores_parent()) {
4555
0
            return make_string_view_from_pointers(
4556
0
                static_cast<const CharT*>(m_begin) + position(),
4557
0
                static_cast<const CharT*>(m_end));
4558
0
        }
4559
132k
        return parent()->get_segment_starting_at(position());
4560
132k
    }
4561
    auto to_contiguous_segment_iterator() const
4562
    {
4563
        return contiguous_segment().data();
4564
    }
4565
4566
    forward_iterator& operator++()
4567
69.2G
    {
4568
69.2G
        ++m_position;
4569
69.2G
        (void)read_at_position();
4570
69.2G
        return *this;
4571
69.2G
    }
scn::v4::detail::basic_scan_buffer<char>::forward_iterator::operator++()
Line
Count
Source
4567
8.68M
    {
4568
8.68M
        ++m_position;
4569
8.68M
        (void)read_at_position();
4570
8.68M
        return *this;
4571
8.68M
    }
scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator::operator++()
Line
Count
Source
4567
69.2G
    {
4568
69.2G
        ++m_position;
4569
69.2G
        (void)read_at_position();
4570
69.2G
        return *this;
4571
69.2G
    }
4572
4573
    forward_iterator operator++(int)
4574
    {
4575
        auto copy = *this;
4576
        operator++();
4577
        return copy;
4578
    }
4579
4580
    CharT operator*() const
4581
40.8M
    {
4582
40.8M
        SCN_EXPECT(m_begin);
4583
4584
40.8M
        if (!stores_parent()) {
4585
0
            auto ptr = static_cast<const CharT*>(m_begin) + position();
4586
0
            SCN_EXPECT(ptr != m_end);
4587
0
            return *ptr;
4588
0
        }
4589
4590
40.8M
        auto res = read_at_position();
4591
40.8M
        SCN_EXPECT(res);
4592
40.8M
        return parent()->get_character_at(m_position);
4593
40.8M
    }
scn::v4::detail::basic_scan_buffer<char>::forward_iterator::operator*() const
Line
Count
Source
4581
6.15M
    {
4582
6.15M
        SCN_EXPECT(m_begin);
4583
4584
6.15M
        if (!stores_parent()) {
4585
0
            auto ptr = static_cast<const CharT*>(m_begin) + position();
4586
0
            SCN_EXPECT(ptr != m_end);
4587
0
            return *ptr;
4588
0
        }
4589
4590
6.15M
        auto res = read_at_position();
4591
6.15M
        SCN_EXPECT(res);
4592
6.15M
        return parent()->get_character_at(m_position);
4593
6.15M
    }
scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator::operator*() const
Line
Count
Source
4581
34.7M
    {
4582
34.7M
        SCN_EXPECT(m_begin);
4583
4584
34.7M
        if (!stores_parent()) {
4585
0
            auto ptr = static_cast<const CharT*>(m_begin) + position();
4586
0
            SCN_EXPECT(ptr != m_end);
4587
0
            return *ptr;
4588
0
        }
4589
4590
34.7M
        auto res = read_at_position();
4591
34.7M
        SCN_EXPECT(res);
4592
34.7M
        return parent()->get_character_at(m_position);
4593
34.7M
    }
4594
4595
    forward_iterator& batch_advance(std::ptrdiff_t n)
4596
0
    {
4597
0
        SCN_EXPECT(n >= 0);
4598
0
        m_position += n;
4599
0
        return *this;
4600
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::forward_iterator::batch_advance(long)
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator::batch_advance(long)
4601
4602
    forward_iterator& batch_advance_to(std::ptrdiff_t i)
4603
0
    {
4604
0
        SCN_EXPECT(i >= m_position);
4605
0
        m_position = i;
4606
0
        return *this;
4607
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::forward_iterator::batch_advance_to(long)
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator::batch_advance_to(long)
4608
4609
    friend bool operator==(const forward_iterator& lhs,
4610
                           const forward_iterator& rhs)
4611
69.2G
    {
4612
69.2G
        return lhs.m_begin == rhs.m_begin && lhs.m_position == rhs.m_position;
4613
69.2G
    }
scn::v4::detail::operator==(scn::v4::detail::basic_scan_buffer<char>::forward_iterator const&, scn::v4::detail::basic_scan_buffer<char>::forward_iterator const&)
Line
Count
Source
4611
5.77M
    {
4612
5.77M
        return lhs.m_begin == rhs.m_begin && lhs.m_position == rhs.m_position;
4613
5.77M
    }
scn::v4::detail::operator==(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator const&, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator const&)
Line
Count
Source
4611
69.2G
    {
4612
69.2G
        return lhs.m_begin == rhs.m_begin && lhs.m_position == rhs.m_position;
4613
69.2G
    }
4614
    friend bool operator!=(const forward_iterator& lhs,
4615
                           const forward_iterator& rhs)
4616
69.2G
    {
4617
69.2G
        return !(lhs == rhs);
4618
69.2G
    }
scn::v4::detail::operator!=(scn::v4::detail::basic_scan_buffer<char>::forward_iterator const&, scn::v4::detail::basic_scan_buffer<char>::forward_iterator const&)
Line
Count
Source
4616
5.46M
    {
4617
5.46M
        return !(lhs == rhs);
4618
5.46M
    }
scn::v4::detail::operator!=(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator const&, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator const&)
Line
Count
Source
4616
69.2G
    {
4617
69.2G
        return !(lhs == rhs);
4618
69.2G
    }
4619
4620
    friend bool operator==(const forward_iterator& x,
4621
                           ranges::default_sentinel_t)
4622
2.89M
    {
4623
2.89M
        return x.is_at_end();
4624
2.89M
    }
scn::v4::detail::operator==(scn::v4::detail::basic_scan_buffer<char>::forward_iterator const&, scn::v4::ranges::default_sentinel_t)
Line
Count
Source
4622
2.29M
    {
4623
2.29M
        return x.is_at_end();
4624
2.29M
    }
scn::v4::detail::operator==(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator const&, scn::v4::ranges::default_sentinel_t)
Line
Count
Source
4622
602k
    {
4623
602k
        return x.is_at_end();
4624
602k
    }
4625
    friend bool operator==(ranges::default_sentinel_t,
4626
                           const forward_iterator& x)
4627
    {
4628
        return x.is_at_end();
4629
    }
4630
4631
    friend bool operator!=(const forward_iterator& x,
4632
                           ranges::default_sentinel_t)
4633
36.6M
    {
4634
36.6M
        return !x.is_at_end();
4635
36.6M
    }
scn::v4::detail::operator!=(scn::v4::detail::basic_scan_buffer<char>::forward_iterator const&, scn::v4::ranges::default_sentinel_t)
Line
Count
Source
4633
2.57M
    {
4634
2.57M
        return !x.is_at_end();
4635
2.57M
    }
scn::v4::detail::operator!=(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator const&, scn::v4::ranges::default_sentinel_t)
Line
Count
Source
4633
34.0M
    {
4634
34.0M
        return !x.is_at_end();
4635
34.0M
    }
4636
    friend bool operator!=(ranges::default_sentinel_t,
4637
                           const forward_iterator& x)
4638
    {
4639
        return !x.is_at_end();
4640
    }
4641
4642
private:
4643
    friend class basic_scan_buffer<CharT>;
4644
4645
    SCN_NODISCARD bool read_at_position() const
4646
69.3G
    {
4647
69.3G
        SCN_EXPECT(m_begin);
4648
4649
69.3G
        if (!stores_parent()) {
4650
0
            return true;
4651
0
        }
4652
4653
69.3G
        if (SCN_LIKELY(m_position < parent()->chars_available())) {
4654
69.3G
            return true;
4655
69.3G
        }
4656
4657
72.8M
        while (m_position >= parent()->chars_available()) {
4658
36.5M
            if (!const_cast<basic_scan_buffer<CharT>*>(parent())->fill()) {
4659
247k
                return false;
4660
247k
            }
4661
36.5M
        }
4662
36.2M
        return true;
4663
36.5M
    }
scn::v4::detail::basic_scan_buffer<char>::forward_iterator::read_at_position() const
Line
Count
Source
4646
19.7M
    {
4647
19.7M
        SCN_EXPECT(m_begin);
4648
4649
19.7M
        if (!stores_parent()) {
4650
0
            return true;
4651
0
        }
4652
4653
19.7M
        if (SCN_LIKELY(m_position < parent()->chars_available())) {
4654
17.3M
            return true;
4655
17.3M
        }
4656
4657
4.51M
        while (m_position >= parent()->chars_available()) {
4658
2.32M
            if (!const_cast<basic_scan_buffer<CharT>*>(parent())->fill()) {
4659
143k
                return false;
4660
143k
            }
4661
2.32M
        }
4662
2.18M
        return true;
4663
2.32M
    }
scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator::read_at_position() const
Line
Count
Source
4646
69.3G
    {
4647
69.3G
        SCN_EXPECT(m_begin);
4648
4649
69.3G
        if (!stores_parent()) {
4650
0
            return true;
4651
0
        }
4652
4653
69.3G
        if (SCN_LIKELY(m_position < parent()->chars_available())) {
4654
69.3G
            return true;
4655
69.3G
        }
4656
4657
68.3M
        while (m_position >= parent()->chars_available()) {
4658
34.2M
            if (!const_cast<basic_scan_buffer<CharT>*>(parent())->fill()) {
4659
104k
                return false;
4660
104k
            }
4661
34.2M
        }
4662
34.0M
        return true;
4663
34.2M
    }
4664
4665
    SCN_NODISCARD bool is_at_end() const
4666
39.5M
    {
4667
39.5M
        if (m_end) {
4668
0
            return (static_cast<const CharT*>(m_begin) + position()) == m_end;
4669
0
        }
4670
39.5M
        if (!m_begin) {
4671
0
            return true;
4672
0
        }
4673
39.5M
        return !read_at_position();
4674
39.5M
    }
scn::v4::detail::basic_scan_buffer<char>::forward_iterator::is_at_end() const
Line
Count
Source
4666
4.86M
    {
4667
4.86M
        if (m_end) {
4668
0
            return (static_cast<const CharT*>(m_begin) + position()) == m_end;
4669
0
        }
4670
4.86M
        if (!m_begin) {
4671
0
            return true;
4672
0
        }
4673
4.86M
        return !read_at_position();
4674
4.86M
    }
scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator::is_at_end() const
Line
Count
Source
4666
34.6M
    {
4667
34.6M
        if (m_end) {
4668
0
            return (static_cast<const CharT*>(m_begin) + position()) == m_end;
4669
0
        }
4670
34.6M
        if (!m_begin) {
4671
0
            return true;
4672
0
        }
4673
34.6M
        return !read_at_position();
4674
34.6M
    }
4675
4676
    // If m_end is null, m_begin points to the parent scan_buffer
4677
    // Otherwise, [m_begin, m_end) is the range of this iterator (and of
4678
    // the entire range)
4679
    mutable void* m_begin{nullptr};
4680
    mutable void* m_end{nullptr};
4681
    std::ptrdiff_t m_position{0};
4682
};
4683
4684
template <typename CharT>
4685
class basic_scan_buffer<CharT>::common_forward_iterator
4686
    : public basic_scan_buffer<CharT>::forward_iterator {
4687
    using base = basic_scan_buffer<CharT>::forward_iterator;
4688
4689
public:
4690
    common_forward_iterator() = default;
4691
4692
    explicit common_forward_iterator(forward_iterator it)
4693
0
        : base(it), m_is_end(it.is_at_end())
4694
0
    {
4695
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::common_forward_iterator::common_forward_iterator(scn::v4::detail::basic_scan_buffer<char>::forward_iterator)
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::common_forward_iterator::common_forward_iterator(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator)
4696
    explicit common_forward_iterator(ranges::default_sentinel_t)
4697
0
        : base(), m_is_end(true)
4698
0
    {
4699
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::common_forward_iterator::common_forward_iterator(scn::v4::ranges::default_sentinel_t)
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::common_forward_iterator::common_forward_iterator(scn::v4::ranges::default_sentinel_t)
4700
4701
    common_forward_iterator& operator++()
4702
    {
4703
        base::operator++();
4704
        m_is_end = base::is_at_end();
4705
        return *this;
4706
    }
4707
4708
    common_forward_iterator operator++(int)
4709
    {
4710
        auto copy = *this;
4711
        operator++();
4712
        return copy;
4713
    }
4714
4715
    common_forward_iterator& batch_advance(std::ptrdiff_t n)
4716
    {
4717
        base::batch_advance(n);
4718
        m_is_end = base::is_at_end();
4719
        return *this;
4720
    }
4721
4722
    common_forward_iterator& batch_advance_to(std::ptrdiff_t i)
4723
    {
4724
        base::batch_advance_to(i);
4725
        m_is_end = base::is_at_end();
4726
        return *this;
4727
    }
4728
4729
    friend bool operator==(const common_forward_iterator& lhs,
4730
                           const common_forward_iterator& rhs)
4731
    {
4732
        if (lhs.m_is_end && rhs.m_is_end) {
4733
            return true;
4734
        }
4735
        if (lhs.m_is_end != rhs.m_is_end) {
4736
            return false;
4737
        }
4738
        return static_cast<const forward_iterator&>(lhs) ==
4739
               static_cast<const forward_iterator&>(rhs);
4740
    }
4741
4742
    friend bool operator!=(const common_forward_iterator& lhs,
4743
                           const common_forward_iterator& rhs)
4744
    {
4745
        return !(lhs == rhs);
4746
    }
4747
4748
private:
4749
    bool m_is_end{};
4750
};
4751
4752
template <typename CharT>
4753
SCN_NODISCARD auto basic_scan_buffer<CharT>::get() -> range_type
4754
625k
{
4755
625k
    if (is_contiguous()) {
4756
0
        return ranges::subrange{forward_iterator{m_current_view, 0},
4757
0
                                ranges::default_sentinel};
4758
0
    }
4759
625k
    return ranges::subrange{forward_iterator{this, 0},
4760
625k
                            ranges::default_sentinel};
4761
625k
}
scn::v4::detail::basic_scan_buffer<char>::get()
Line
Count
Source
4754
449k
{
4755
449k
    if (is_contiguous()) {
4756
0
        return ranges::subrange{forward_iterator{m_current_view, 0},
4757
0
                                ranges::default_sentinel};
4758
0
    }
4759
449k
    return ranges::subrange{forward_iterator{this, 0},
4760
449k
                            ranges::default_sentinel};
4761
449k
}
scn::v4::detail::basic_scan_buffer<wchar_t>::get()
Line
Count
Source
4754
176k
{
4755
176k
    if (is_contiguous()) {
4756
0
        return ranges::subrange{forward_iterator{m_current_view, 0},
4757
0
                                ranges::default_sentinel};
4758
0
    }
4759
176k
    return ranges::subrange{forward_iterator{this, 0},
4760
176k
                            ranges::default_sentinel};
4761
176k
}
4762
4763
template <typename CharT>
4764
SCN_NODISCARD auto basic_scan_buffer<CharT>::get_common_range()
4765
    -> common_range_type
4766
{
4767
    auto r = get();
4768
    return ranges::subrange{common_forward_iterator{r.begin()},
4769
                            common_forward_iterator{r.end()}};
4770
}
4771
4772
static_assert(ranges::forward_range<scan_buffer::range_type>);
4773
4774
template <typename CharT>
4775
class basic_scan_string_buffer : public basic_scan_buffer<CharT> {
4776
    using base = basic_scan_buffer<CharT>;
4777
4778
public:
4779
    basic_scan_string_buffer(std::basic_string_view<CharT> sv)
4780
0
        : base(typename base::contiguous_tag{}, sv)
4781
0
    {
4782
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_string_buffer<char>::basic_scan_string_buffer(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Unexecuted instantiation: scn::v4::detail::basic_scan_string_buffer<wchar_t>::basic_scan_string_buffer(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
4783
4784
    bool fill() override
4785
0
    {
4786
0
        SCN_EXPECT(false);
4787
0
        SCN_UNREACHABLE;
4788
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_string_buffer<char>::fill()
Unexecuted instantiation: scn::v4::detail::basic_scan_string_buffer<wchar_t>::fill()
4789
};
4790
4791
template <typename CharT>
4792
basic_scan_string_buffer(std::basic_string_view<CharT>)
4793
    -> basic_scan_string_buffer<CharT>;
4794
4795
template <typename CharT>
4796
class basic_scan_forward_buffer_base : public basic_scan_buffer<CharT> {
4797
    using base = basic_scan_buffer<CharT>;
4798
4799
protected:
4800
625k
    basic_scan_forward_buffer_base() : base(typename base::non_contiguous_tag{})
4801
625k
    {
4802
625k
    }
scn::v4::detail::basic_scan_forward_buffer_base<char>::basic_scan_forward_buffer_base()
Line
Count
Source
4800
449k
    basic_scan_forward_buffer_base() : base(typename base::non_contiguous_tag{})
4801
449k
    {
4802
449k
    }
scn::v4::detail::basic_scan_forward_buffer_base<wchar_t>::basic_scan_forward_buffer_base()
Line
Count
Source
4800
176k
    basic_scan_forward_buffer_base() : base(typename base::non_contiguous_tag{})
4801
176k
    {
4802
176k
    }
4803
};
4804
4805
template <typename I, typename S>
4806
using less_than_compare =
4807
    decltype(SCN_DECLVAL(const I&) < SCN_DECLVAL(const S&));
4808
4809
template <typename Range>
4810
class basic_scan_forward_buffer_impl
4811
    : public basic_scan_forward_buffer_base<detail::char_t<Range>> {
4812
    static_assert(ranges::range<const Range> && std::is_object_v<Range>);
4813
4814
    using _char_type = detail::char_t<Range>;
4815
    using base = basic_scan_forward_buffer_base<_char_type>;
4816
4817
public:
4818
    using char_type = _char_type;
4819
    using range_type = Range;
4820
    using iterator = ranges::iterator_t<const Range>;
4821
    using sentinel = ranges::sentinel_t<const Range>;
4822
4823
    template <
4824
        typename R,
4825
        std::enable_if_t<is_not_self<R, basic_scan_forward_buffer_impl> &&
4826
                         std::is_convertible_v<R, const Range&>>* = nullptr>
4827
    basic_scan_forward_buffer_impl(R&& r)
4828
625k
        : m_range(std::addressof(static_cast<const Range&>(SCN_FWD(r)))),
4829
625k
          m_cursor(ranges::begin(*m_range))
4830
625k
    {
4831
625k
    }
_ZN3scn2v46detail30basic_scan_forward_buffer_implINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEEC2IRKSF_TnPNS7_9enable_ifIXaa11is_not_selfIT_SG_Esr3stdE16is_convertible_vISL_SJ_EEvE4typeELPv0EEEOSL_
Line
Count
Source
4828
449k
        : m_range(std::addressof(static_cast<const Range&>(SCN_FWD(r)))),
4829
449k
          m_cursor(ranges::begin(*m_range))
4830
449k
    {
4831
449k
    }
_ZN3scn2v46detail30basic_scan_forward_buffer_implINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEEC2IRKSF_TnPNS7_9enable_ifIXaa11is_not_selfIT_SG_Esr3stdE16is_convertible_vISL_SJ_EEvE4typeELPv0EEEOSL_
Line
Count
Source
4828
176k
        : m_range(std::addressof(static_cast<const Range&>(SCN_FWD(r)))),
4829
176k
          m_cursor(ranges::begin(*m_range))
4830
176k
    {
4831
176k
    }
4832
4833
    bool fill() override
4834
36.5M
    {
4835
36.5M
        if (m_cursor == ranges::end(*m_range)) {
4836
247k
            return false;
4837
247k
        }
4838
36.2M
        if constexpr (mp_valid_v<less_than_compare, iterator, sentinel>) {
4839
36.2M
            SCN_EXPECT(m_cursor < ranges::end(*m_range));
4840
36.2M
        }
4841
36.2M
        if (!this->m_current_view.empty()) {
4842
35.7M
            this->m_putback_buffer.insert(this->m_putback_buffer.end(),
4843
35.7M
                                          this->m_current_view.begin(),
4844
35.7M
                                          this->m_current_view.end());
4845
35.7M
        }
4846
36.2M
        m_latest = *m_cursor;
4847
36.2M
        ++m_cursor;
4848
36.2M
        this->m_current_view = std::basic_string_view<char_type>{&m_latest, 1};
4849
36.2M
        if constexpr (mp_valid_v<less_than_compare, iterator, sentinel>) {
4850
36.2M
            SCN_EXPECT(m_cursor <= ranges::end(*m_range));
4851
36.2M
        }
4852
36.2M
        return true;
4853
36.5M
    }
scn::v4::detail::basic_scan_forward_buffer_impl<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >::fill()
Line
Count
Source
4834
2.32M
    {
4835
2.32M
        if (m_cursor == ranges::end(*m_range)) {
4836
143k
            return false;
4837
143k
        }
4838
2.18M
        if constexpr (mp_valid_v<less_than_compare, iterator, sentinel>) {
4839
2.18M
            SCN_EXPECT(m_cursor < ranges::end(*m_range));
4840
2.18M
        }
4841
2.18M
        if (!this->m_current_view.empty()) {
4842
1.76M
            this->m_putback_buffer.insert(this->m_putback_buffer.end(),
4843
1.76M
                                          this->m_current_view.begin(),
4844
1.76M
                                          this->m_current_view.end());
4845
1.76M
        }
4846
2.18M
        m_latest = *m_cursor;
4847
2.18M
        ++m_cursor;
4848
2.18M
        this->m_current_view = std::basic_string_view<char_type>{&m_latest, 1};
4849
2.18M
        if constexpr (mp_valid_v<less_than_compare, iterator, sentinel>) {
4850
2.18M
            SCN_EXPECT(m_cursor <= ranges::end(*m_range));
4851
2.18M
        }
4852
2.18M
        return true;
4853
2.32M
    }
scn::v4::detail::basic_scan_forward_buffer_impl<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >::fill()
Line
Count
Source
4834
34.2M
    {
4835
34.2M
        if (m_cursor == ranges::end(*m_range)) {
4836
104k
            return false;
4837
104k
        }
4838
34.0M
        if constexpr (mp_valid_v<less_than_compare, iterator, sentinel>) {
4839
34.0M
            SCN_EXPECT(m_cursor < ranges::end(*m_range));
4840
34.0M
        }
4841
34.0M
        if (!this->m_current_view.empty()) {
4842
33.9M
            this->m_putback_buffer.insert(this->m_putback_buffer.end(),
4843
33.9M
                                          this->m_current_view.begin(),
4844
33.9M
                                          this->m_current_view.end());
4845
33.9M
        }
4846
34.0M
        m_latest = *m_cursor;
4847
34.0M
        ++m_cursor;
4848
34.0M
        this->m_current_view = std::basic_string_view<char_type>{&m_latest, 1};
4849
34.0M
        if constexpr (mp_valid_v<less_than_compare, iterator, sentinel>) {
4850
34.0M
            SCN_EXPECT(m_cursor <= ranges::end(*m_range));
4851
34.0M
        }
4852
34.0M
        return true;
4853
34.2M
    }
4854
4855
private:
4856
    const Range* m_range;
4857
    iterator m_cursor;
4858
    char_type m_latest{};
4859
};
4860
4861
template <typename R>
4862
basic_scan_forward_buffer_impl(const R&) -> basic_scan_forward_buffer_impl<R>;
4863
4864
struct default_file_tag {};
4865
struct gnu_file_tag {};
4866
struct bsd_file_tag {};
4867
struct musl_file_tag {};
4868
struct win32_file_tag {};
4869
4870
// Non-pretty workaround for MSVC silliness
4871
template <typename F, typename = void>
4872
inline constexpr bool is_gnu_file = false;
4873
template <typename F>
4874
inline constexpr bool
4875
    is_gnu_file<F,
4876
                std::void_t<decltype(SCN_DECLVAL(F)._IO_read_ptr),
4877
                            decltype(SCN_DECLVAL(F)._IO_read_end)>> = true;
4878
4879
template <typename F, typename = void>
4880
inline constexpr bool is_bsd_file = false;
4881
template <typename F>
4882
inline constexpr bool is_bsd_file<
4883
    F,
4884
    std::void_t<decltype(SCN_DECLVAL(F)._p), decltype(SCN_DECLVAL(F)._r)>> =
4885
    true;
4886
4887
template <typename F, typename = void>
4888
inline constexpr bool is_musl_file = false;
4889
template <typename F>
4890
inline constexpr bool is_musl_file<
4891
    F,
4892
    std::void_t<decltype(SCN_DECLVAL(F).rpos), decltype(SCN_DECLVAL(F).rend)>> =
4893
    true;
4894
4895
template <typename F>
4896
inline constexpr bool is_win32_file =
4897
    std::is_same_v<F, std::FILE> && SCN_WINDOWS && !SCN_MINGW;
4898
4899
constexpr auto get_file_tag()
4900
0
{
4901
0
    if constexpr (is_gnu_file<std::FILE>) {
4902
0
        return detail::tag_type<gnu_file_tag>{};
4903
0
    }
4904
0
    else if constexpr (is_bsd_file<std::FILE>) {
4905
0
        return detail::tag_type<bsd_file_tag>{};
4906
0
    }
4907
0
    else if constexpr (is_musl_file<std::FILE>) {
4908
0
        return detail::tag_type<musl_file_tag>{};
4909
0
    }
4910
0
    else if constexpr (is_win32_file<std::FILE>) {
4911
0
        return detail::tag_type<win32_file_tag>{};
4912
0
    }
4913
0
    else {
4914
0
        return detail::tag_type<default_file_tag>{};
4915
0
    }
4916
0
}
4917
4918
template <typename File>
4919
struct stdio_file_interface_base {
4920
0
    explicit constexpr stdio_file_interface_base(File* f) noexcept : file(f) {}
4921
    ~stdio_file_interface_base() = default;
4922
4923
    stdio_file_interface_base(const stdio_file_interface_base&) = delete;
4924
    stdio_file_interface_base& operator=(const stdio_file_interface_base&) =
4925
        delete;
4926
4927
    constexpr stdio_file_interface_base(
4928
        stdio_file_interface_base&& other) noexcept
4929
0
        : file(other.file)
4930
0
    {
4931
0
        other.file = nullptr;
4932
0
    }
4933
    constexpr stdio_file_interface_base& operator=(
4934
        stdio_file_interface_base&& other) noexcept
4935
    {
4936
        file = other.file;
4937
        other.file = nullptr;
4938
        return *this;
4939
    }
4940
4941
    File* file;
4942
};
4943
4944
template <typename File, typename Tag>
4945
struct stdio_file_interface_impl;
4946
4947
template <typename File>
4948
struct stdio_file_interface_impl<File, default_file_tag>
4949
    : stdio_file_interface_base<File> {
4950
    using stdio_file_interface_base<File>::stdio_file_interface_base;
4951
4952
    static constexpr void lock() {}
4953
    static constexpr void unlock() {}
4954
4955
    SCN_NODISCARD static constexpr bool has_buffering()
4956
    {
4957
        return false;
4958
    }
4959
4960
    SCN_NODISCARD std::string_view buffer() const
4961
    {
4962
        return {};
4963
    }
4964
    void unsafe_advance_n(std::ptrdiff_t)
4965
    {
4966
        SCN_EXPECT(false);
4967
        SCN_UNREACHABLE;
4968
    }
4969
    void fill_buffer()
4970
    {
4971
        SCN_EXPECT(false);
4972
        SCN_UNREACHABLE;
4973
    }
4974
4975
    SCN_NODISCARD std::optional<char> read_one()
4976
    {
4977
        auto res = std::fgetc(this->file);
4978
        if (res == EOF) {
4979
            return std::nullopt;
4980
        }
4981
        return static_cast<char>(res);
4982
    }
4983
4984
    void prepare_putback() {}
4985
    void finalize_putback() {}
4986
4987
    SCN_NODISCARD bool putback(char ch)
4988
    {
4989
        return std::ungetc(static_cast<unsigned char>(ch), this->file) != EOF;
4990
    }
4991
};
4992
4993
template <typename File>
4994
struct posix_stdio_file_interface : stdio_file_interface_base<File> {
4995
    using stdio_file_interface_base<File>::stdio_file_interface_base;
4996
4997
    void lock()
4998
0
    {
4999
0
        flockfile(this->file);
5000
0
    }
5001
    void unlock()
5002
0
    {
5003
0
        funlockfile(this->file);
5004
0
    }
5005
5006
    SCN_NODISCARD static constexpr bool has_buffering()
5007
0
    {
5008
0
        return true;
5009
0
    }
5010
5011
    SCN_NODISCARD std::optional<char> read_one()
5012
0
    {
5013
0
        auto res = getc_unlocked(this->file);
5014
0
        if (res == EOF) {
5015
0
            return std::nullopt;
5016
0
        }
5017
0
        return static_cast<char>(res);
5018
0
    }
5019
5020
    void prepare_putback()
5021
0
    {
5022
0
        unlock();
5023
0
    }
5024
    void finalize_putback()
5025
0
    {
5026
0
        lock();
5027
0
    }
5028
5029
    SCN_NODISCARD bool putback(char ch)
5030
0
    {
5031
0
        return std::ungetc(static_cast<unsigned char>(ch), this->file) != EOF;
5032
0
    }
5033
};
5034
5035
template <typename File>
5036
struct stdio_file_interface_impl<File, gnu_file_tag>
5037
    : posix_stdio_file_interface<File> {
5038
    using posix_stdio_file_interface<File>::posix_stdio_file_interface;
5039
5040
    SCN_NODISCARD std::string_view buffer() const
5041
0
    {
5042
0
        return make_string_view_from_pointers(this->file->_IO_read_ptr,
5043
0
                                              this->file->_IO_read_end);
5044
0
    }
5045
    void unsafe_advance_n(std::ptrdiff_t n)
5046
0
    {
5047
0
        SCN_EXPECT(this->file->_IO_read_ptr != nullptr);
5048
0
        SCN_EXPECT(this->file->_IO_read_end - this->file->_IO_read_ptr >= n);
5049
0
        this->file->_IO_read_ptr += n;
5050
0
    }
5051
    void fill_buffer()
5052
0
    {
5053
0
        if (__uflow(this->file) != EOF) {
5054
0
            --this->file->_IO_read_ptr;
5055
0
        }
5056
0
    }
5057
};
5058
5059
template <typename File>
5060
struct stdio_file_interface_impl<File, bsd_file_tag>
5061
    : posix_stdio_file_interface<File> {
5062
    using posix_stdio_file_interface<File>::posix_stdio_file_interface;
5063
5064
    SCN_NODISCARD std::string_view buffer() const
5065
    {
5066
        return {reinterpret_cast<const char*>(this->file->_p),
5067
                static_cast<std::size_t>(this->file->_r)};
5068
    }
5069
    void unsafe_advance_n(std::ptrdiff_t n)
5070
    {
5071
        SCN_EXPECT(this->file->_p != nullptr);
5072
        SCN_EXPECT(this->file->_r >= n);
5073
        this->file->_p += n;
5074
        this->file->_r -= static_cast<int>(n);
5075
    }
5076
    void fill_buffer()
5077
    {
5078
        if (__srget(this->file) != EOF) {
5079
            --this->file->_p;
5080
            ++this->file->_r;
5081
        }
5082
    }
5083
};
5084
5085
template <typename File>
5086
struct stdio_file_interface_impl<File, musl_file_tag>
5087
    : posix_stdio_file_interface<File> {
5088
    using posix_stdio_file_interface<File>::posix_stdio_file_interface;
5089
5090
    SCN_NODISCARD std::string_view buffer() const
5091
    {
5092
        return make_string_view_from_pointers(
5093
            reinterpret_cast<const char*>(this->file->rpos),
5094
            reinterpret_cast<const char*>(this->file->rend));
5095
    }
5096
    void unsafe_advance_n(std::ptrdiff_t n)
5097
    {
5098
        SCN_EXPECT(this->file->rpos != nullptr);
5099
        SCN_EXPECT(this->file->rend - this->file->rpos >= n);
5100
        this->file->rpos += n;
5101
    }
5102
    void fill_buffer()
5103
    {
5104
        if (__uflow(this->file) != EOF) {
5105
            --this->file->rpos;
5106
        }
5107
    }
5108
};
5109
5110
template <typename File>
5111
struct stdio_file_interface_impl<File, win32_file_tag>
5112
    : stdio_file_interface_base<File> {
5113
    using stdio_file_interface_base<File>::stdio_file_interface_base;
5114
5115
    void lock()
5116
    {
5117
        _lock_file(this->file);
5118
    }
5119
    void unlock()
5120
    {
5121
        _unlock_file(this->file);
5122
    }
5123
5124
    SCN_NODISCARD static constexpr bool has_buffering()
5125
    {
5126
        return false;
5127
    }
5128
5129
    SCN_NODISCARD std::string_view buffer() const
5130
    {
5131
        return {};
5132
    }
5133
    void unsafe_advance_n(std::ptrdiff_t n)
5134
    {
5135
        SCN_UNUSED(n);
5136
        SCN_EXPECT(false);
5137
        SCN_UNREACHABLE;
5138
    }
5139
    void fill_buffer()
5140
    {
5141
        SCN_EXPECT(false);
5142
        SCN_UNREACHABLE;
5143
    }
5144
5145
    SCN_NODISCARD std::optional<char> read_one()
5146
    {
5147
        auto res = _fgetc_nolock(this->file);
5148
        if (res == EOF) {
5149
            return std::nullopt;
5150
        }
5151
        return static_cast<char>(res);
5152
    }
5153
5154
    static void prepare_putback() {}
5155
    static void finalize_putback() {}
5156
5157
    SCN_NODISCARD bool putback(char ch)
5158
    {
5159
        return _ungetc_nolock(static_cast<unsigned char>(ch), this->file) !=
5160
               EOF;
5161
    }
5162
};
5163
5164
using stdio_file_interface =
5165
    stdio_file_interface_impl<std::FILE, decltype(get_file_tag())::type>;
5166
5167
template <typename FileInterface>
5168
class basic_scan_file_buffer : public basic_scan_buffer<char> {
5169
    using base = basic_scan_buffer<char>;
5170
5171
public:
5172
    explicit basic_scan_file_buffer(FileInterface file);
5173
    ~basic_scan_file_buffer() override;
5174
5175
    bool fill() override;
5176
5177
    bool sync(std::ptrdiff_t position) override;
5178
5179
private:
5180
    FileInterface m_file;
5181
    std::optional<char_type> m_latest{std::nullopt};
5182
};
5183
5184
SCN_CLANG_PUSH
5185
SCN_CLANG_IGNORE("-Wweak-vtables")
5186
5187
struct scan_file_buffer : public basic_scan_file_buffer<stdio_file_interface> {
5188
    explicit scan_file_buffer(std::FILE* file)
5189
0
        : basic_scan_file_buffer(stdio_file_interface{file})
5190
0
    {
5191
0
    }
5192
};
5193
5194
SCN_CLANG_POP
5195
5196
extern template basic_scan_file_buffer<
5197
    stdio_file_interface>::basic_scan_file_buffer(stdio_file_interface);
5198
extern template basic_scan_file_buffer<
5199
    stdio_file_interface>::~basic_scan_file_buffer();
5200
extern template bool basic_scan_file_buffer<stdio_file_interface>::fill();
5201
extern template bool basic_scan_file_buffer<stdio_file_interface>::sync(
5202
    std::ptrdiff_t);
5203
5204
template <typename CharT>
5205
class basic_scan_ref_buffer : public basic_scan_buffer<CharT> {
5206
    using base = basic_scan_buffer<CharT>;
5207
5208
public:
5209
    basic_scan_ref_buffer(base& other, std::ptrdiff_t starting_pos)
5210
0
        : base(other.is_contiguous(), std::basic_string_view<CharT>{}),
5211
0
          m_other(&other),
5212
0
          m_starting_pos(starting_pos)
5213
0
    {
5214
0
        this->m_current_view = other.get_segment_starting_at(starting_pos);
5215
0
        m_fill_needs_to_propagate = other.get_segment_starting_at(0).end() ==
5216
0
                                    this->m_current_view.end();
5217
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_ref_buffer<char>::basic_scan_ref_buffer(scn::v4::detail::basic_scan_buffer<char>&, long)
Unexecuted instantiation: scn::v4::detail::basic_scan_ref_buffer<wchar_t>::basic_scan_ref_buffer(scn::v4::detail::basic_scan_buffer<wchar_t>&, long)
5218
5219
    basic_scan_ref_buffer(std::basic_string_view<CharT> view)
5220
0
        : base(true, view), m_other(nullptr)
5221
0
    {
5222
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_ref_buffer<char>::basic_scan_ref_buffer(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Unexecuted instantiation: scn::v4::detail::basic_scan_ref_buffer<wchar_t>::basic_scan_ref_buffer(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
5223
5224
    bool fill() override
5225
0
    {
5226
0
        if (!m_other) {
5227
0
            return false;
5228
0
        }
5229
0
        SCN_EXPECT(m_starting_pos >= 0);
5230
5231
0
        if (m_fill_needs_to_propagate) {
5232
0
            auto ret = m_other->fill();
5233
0
            this->m_current_view = m_other->current_view();
5234
0
            this->m_putback_buffer = m_other->putback_buffer().substr(
5235
0
                static_cast<std::size_t>(m_starting_pos));
5236
0
            return ret;
5237
0
        }
5238
5239
0
        m_fill_needs_to_propagate = true;
5240
0
        this->m_putback_buffer = std::basic_string<CharT>{this->m_current_view};
5241
0
        this->m_current_view = m_other->current_view();
5242
0
        return true;
5243
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_ref_buffer<char>::fill()
Unexecuted instantiation: scn::v4::detail::basic_scan_ref_buffer<wchar_t>::fill()
5244
5245
private:
5246
    base* m_other;
5247
    std::ptrdiff_t m_starting_pos{-1};
5248
    bool m_fill_needs_to_propagate{false};
5249
};
5250
5251
template <typename CharT>
5252
basic_scan_ref_buffer(basic_scan_buffer<CharT>&, std::ptrdiff_t)
5253
    -> basic_scan_ref_buffer<CharT>;
5254
5255
template <typename CharT>
5256
basic_scan_ref_buffer(std::basic_string_view<CharT>)
5257
    -> basic_scan_ref_buffer<CharT>;
5258
5259
template <typename Range>
5260
auto make_string_scan_buffer(const Range& range)
5261
{
5262
    return basic_scan_string_buffer(std::basic_string_view<char_t<Range>>{
5263
        ranges::data(range), ranges::size(range)});
5264
}
5265
5266
template <typename Range>
5267
auto make_forward_scan_buffer(const Range& range)
5268
625k
{
5269
625k
    return basic_scan_forward_buffer_impl(range);
5270
625k
}
auto scn::v4::detail::make_forward_scan_buffer<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >(scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > const&)
Line
Count
Source
5268
449k
{
5269
449k
    return basic_scan_forward_buffer_impl(range);
5270
449k
}
auto scn::v4::detail::make_forward_scan_buffer<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >(scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > const&)
Line
Count
Source
5268
176k
{
5269
176k
    return basic_scan_forward_buffer_impl(range);
5270
176k
}
5271
5272
inline auto make_file_scan_buffer(std::FILE* file)
5273
0
{
5274
0
    return scan_file_buffer(file);
5275
0
}
5276
}  // namespace detail
5277
5278
/////////////////////////////////////////////////////////////////
5279
// make_scan_buffer
5280
/////////////////////////////////////////////////////////////////
5281
5282
/**
5283
 * \defgroup scannable Scannable sources
5284
 *
5285
 * \brief Description of the `scannable_range` and `scannable_source`
5286
 * concepts.
5287
 *
5288
 * A range is considered scannable, if it models at least `forward_range`,
5289
 * and its character type is correct (its value type is the same as the one
5290
 * of the format string).
5291
 * If the range additionally models `contiguous_range` and `sized_range`,
5292
 * additional optimizations are enabled.
5293
 *
5294
 * \code{.cpp}
5295
 * // Exposition only
5296
 * template <typename Range, typename CharT>
5297
 * concept scannable_range =
5298
 *     ranges::forward_range<Range> &&
5299
 *     std::same_as<ranges::range_value_t<Range>, CharT>;
5300
 * \endcode
5301
 *
5302
 * Additionally, files (`std::FILE*`) can be scanned from.
5303
 * Files are always considered to be narrow (`char`-oriented).
5304
 * Thus, the entire concept is:
5305
 *
5306
 * \code{.cpp}
5307
 * // Exposition only
5308
 * template <typename Source, typename CharT>
5309
 * concept scannable_source =
5310
 *   (std::same_as<std::remove_cvref_t<Source>, std::FILE*> &&
5311
 *    std::same_as<CharT, char>) ||
5312
 *   scannable_range<Source, CharT>;
5313
 * \endcode
5314
 */
5315
5316
/**
5317
 * Tag type to indicate an invalid range given to `scn::scan`
5318
 *
5319
 * \ingroup scannable
5320
 */
5321
struct invalid_input_range {};
5322
5323
struct invalid_char_type : invalid_input_range {};
5324
struct custom_char_traits : invalid_input_range {};
5325
struct file_marker_found : invalid_input_range {};
5326
struct insufficient_range : invalid_input_range {};
5327
5328
namespace detail {
5329
template <typename CharT>
5330
inline constexpr bool is_valid_char_type =
5331
    std::is_same_v<std::remove_const_t<CharT>, char> ||
5332
    std::is_same_v<std::remove_const_t<CharT>, wchar_t>;
5333
5334
namespace _make_scan_buffer {
5335
// buffer -> ref_buffer
5336
inline auto impl(scan_buffer::range_type r, priority_tag<4>) noexcept
5337
    -> basic_scan_ref_buffer<char>
5338
0
{
5339
0
    if (!r.begin().stores_parent()) {
5340
0
        return basic_scan_ref_buffer{r.begin().contiguous_segment()};
5341
0
    }
5342
0
    return basic_scan_ref_buffer{*r.begin().parent(), r.begin().position()};
5343
0
}
5344
inline auto impl(wscan_buffer::range_type r, priority_tag<4>) noexcept
5345
    -> basic_scan_ref_buffer<wchar_t>
5346
0
{
5347
0
    if (!r.begin().stores_parent()) {
5348
0
        return basic_scan_ref_buffer{r.begin().contiguous_segment()};
5349
0
    }
5350
0
    return basic_scan_ref_buffer{*r.begin().parent(), r.begin().position()};
5351
0
}
5352
5353
// string_view -> string_buffer
5354
template <typename CharT>
5355
auto impl(std::basic_string_view<CharT> r, priority_tag<3>) noexcept
5356
{
5357
    if constexpr (is_valid_char_type<CharT>) {
5358
        return r;
5359
        // return make_string_scan_buffer(r);
5360
    }
5361
    else {
5362
        return invalid_char_type{};
5363
    }
5364
}
5365
5366
// string& -> string_buffer
5367
template <typename CharT, typename Traits, typename Allocator>
5368
auto impl(const std::basic_string<CharT, Traits, Allocator>& r,
5369
          priority_tag<3>) noexcept
5370
0
{
5371
    if constexpr (!is_valid_char_type<CharT>) {
5372
        return invalid_char_type{};
5373
    }
5374
    else if constexpr (!std::is_same_v<Traits, std::char_traits<CharT>>) {
5375
        return custom_char_traits{};
5376
    }
5377
0
    else {
5378
0
        return std::basic_string_view<CharT>{r.data(), r.size()};
5379
0
    }
5380
0
}
5381
5382
// String literals:
5383
// CharT(&)[] -> string_buffer
5384
template <typename CharT,
5385
          std::size_t N,
5386
          std::enable_if_t<is_valid_char_type<CharT>>* = nullptr>
5387
auto impl(const CharT (&r)[N], priority_tag<3>) noexcept
5388
{
5389
    return std::basic_string_view<CharT>{r, N - 1};
5390
}
5391
5392
// FILE* -> file_buffer
5393
inline auto impl(std::FILE* file, priority_tag<3>)
5394
0
{
5395
0
    return make_file_scan_buffer(file);
5396
0
}
5397
5398
// contiguous + sized -> string_buffer
5399
template <typename Range,
5400
          std::enable_if_t<ranges::contiguous_range<Range> &&
5401
                           ranges::sized_range<Range>>* = nullptr>
5402
auto impl(const Range& r, priority_tag<2>)
5403
626k
{
5404
626k
    if constexpr (is_valid_char_type<detail::char_t<Range>>) {
5405
626k
        return std::basic_string_view<detail::char_t<Range>>{ranges::data(r),
5406
626k
                                                             ranges::size(r)};
5407
    }
5408
    else {
5409
        return invalid_char_type{};
5410
    }
5411
626k
}
_ZN3scn2v46detail17_make_scan_buffer4implINS0_6ranges6detail9subrange_8subrangeIPKcS9_EETnPNSt3__19enable_ifIXaasr6rangesE16contiguous_rangeIT_Esr6rangesE11sized_rangeISD_EEvE4typeELPv0EEEDaRKSD_NS1_12priority_tagILm2EEE
Line
Count
Source
5403
450k
{
5404
450k
    if constexpr (is_valid_char_type<detail::char_t<Range>>) {
5405
450k
        return std::basic_string_view<detail::char_t<Range>>{ranges::data(r),
5406
450k
                                                             ranges::size(r)};
5407
    }
5408
    else {
5409
        return invalid_char_type{};
5410
    }
5411
450k
}
_ZN3scn2v46detail17_make_scan_buffer4implINS0_6ranges6detail9subrange_8subrangeIPKwS9_EETnPNSt3__19enable_ifIXaasr6rangesE16contiguous_rangeIT_Esr6rangesE11sized_rangeISD_EEvE4typeELPv0EEEDaRKSD_NS1_12priority_tagILm2EEE
Line
Count
Source
5403
176k
{
5404
176k
    if constexpr (is_valid_char_type<detail::char_t<Range>>) {
5405
176k
        return std::basic_string_view<detail::char_t<Range>>{ranges::data(r),
5406
176k
                                                             ranges::size(r)};
5407
    }
5408
    else {
5409
        return invalid_char_type{};
5410
    }
5411
176k
}
5412
5413
// !contiguous + random-access + iterator can be made into a ptr
5414
// for MSVC debug iterators
5415
//   -> string_buffer
5416
template <typename Range,
5417
          std::enable_if_t<!ranges::contiguous_range<Range> &&
5418
                           ranges::random_access_range<Range> &&
5419
                           can_make_address_from_iterator<
5420
                               ranges::iterator_t<Range>>>* = nullptr>
5421
auto impl(const Range& r, priority_tag<1>)
5422
{
5423
    if constexpr (is_valid_char_type<detail::char_t<Range>>) {
5424
        return make_string_view_from_pointers(to_address(ranges::begin(r)),
5425
                                              to_address(ranges::end(r)));
5426
    }
5427
    else {
5428
        return invalid_char_type{};
5429
    }
5430
}
5431
5432
// forward -> forward_buffer<R>
5433
template <typename Range>
5434
auto impl(const Range& r, priority_tag<0>)
5435
625k
{
5436
    if constexpr (std::is_same_v<Range, file_marker>) {
5437
        return file_marker_found{};
5438
    }
5439
    else if constexpr (!ranges::forward_range<Range>) {
5440
        if constexpr (ranges::range<Range>) {
5441
            return insufficient_range{};
5442
        }
5443
        else {
5444
            return invalid_input_range{};
5445
        }
5446
    }
5447
    else if constexpr (!is_valid_char_type<detail::char_t<Range>>) {
5448
        return invalid_char_type{};
5449
    }
5450
625k
    else {
5451
625k
        return make_forward_scan_buffer(r);
5452
625k
    }
5453
625k
}
auto scn::v4::detail::_make_scan_buffer::impl<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >(scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > const&, scn::v4::detail::priority_tag<0ul>)
Line
Count
Source
5435
449k
{
5436
    if constexpr (std::is_same_v<Range, file_marker>) {
5437
        return file_marker_found{};
5438
    }
5439
    else if constexpr (!ranges::forward_range<Range>) {
5440
        if constexpr (ranges::range<Range>) {
5441
            return insufficient_range{};
5442
        }
5443
        else {
5444
            return invalid_input_range{};
5445
        }
5446
    }
5447
    else if constexpr (!is_valid_char_type<detail::char_t<Range>>) {
5448
        return invalid_char_type{};
5449
    }
5450
449k
    else {
5451
449k
        return make_forward_scan_buffer(r);
5452
449k
    }
5453
449k
}
auto scn::v4::detail::_make_scan_buffer::impl<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >(scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > const&, scn::v4::detail::priority_tag<0ul>)
Line
Count
Source
5435
176k
{
5436
    if constexpr (std::is_same_v<Range, file_marker>) {
5437
        return file_marker_found{};
5438
    }
5439
    else if constexpr (!ranges::forward_range<Range>) {
5440
        if constexpr (ranges::range<Range>) {
5441
            return insufficient_range{};
5442
        }
5443
        else {
5444
            return invalid_input_range{};
5445
        }
5446
    }
5447
    else if constexpr (!is_valid_char_type<detail::char_t<Range>>) {
5448
        return invalid_char_type{};
5449
    }
5450
176k
    else {
5451
176k
        return make_forward_scan_buffer(r);
5452
176k
    }
5453
176k
}
5454
}  // namespace _make_scan_buffer
5455
5456
template <typename Range>
5457
inline constexpr bool is_scannable_range =
5458
    !std::is_base_of_v<invalid_input_range,
5459
                       decltype(_make_scan_buffer::impl(
5460
                                    SCN_DECLVAL(const Range&)),
5461
                                priority_tag<4>{})>;
5462
5463
template <typename Range>
5464
auto make_scan_buffer(const Range& range)
5465
1.25M
{
5466
1.25M
    using T = decltype(_make_scan_buffer::impl(range, priority_tag<4>{}));
5467
5468
1.25M
    static_assert(!std::is_same_v<T, invalid_char_type>,
5469
1.25M
                  "\n"
5470
1.25M
                  "Unsupported range type given as input to a scanning "
5471
1.25M
                  "function.\n"
5472
1.25M
                  "A range needs to have a character type (value type) "
5473
1.25M
                  "of either `char` or `wchar_t` to be scannable.\n"
5474
1.25M
                  "For proper `wchar_t` support, <scn/xchar.h> needs "
5475
1.25M
                  "to be included.\n"
5476
1.25M
                  "See the scnlib documentation for more details.");
5477
1.25M
    static_assert(
5478
1.25M
        !std::is_same_v<T, custom_char_traits>,
5479
1.25M
        "\n"
5480
1.25M
        "Unsupported range type given as input to a scanning "
5481
1.25M
        "function.\n"
5482
1.25M
        "String types (std::basic_string, and std::basic_string_view) "
5483
1.25M
        "need to use std::char_traits. Strings with custom Traits are "
5484
1.25M
        "not supported.");
5485
1.25M
    static_assert(!std::is_same_v<T, file_marker_found>,
5486
1.25M
                  "\n"
5487
1.25M
                  "Unsupported range type given as input to a scanning "
5488
1.25M
                  "function.\n"
5489
1.25M
                  "file_marker_found cannot be used as an "
5490
1.25M
                  "source range type to scn::scan.\n"
5491
1.25M
                  "To read from stdin, use scn::input or scn::prompt, "
5492
1.25M
                  "and do not provide an explicit source range, "
5493
1.25M
                  "or use scn::scan with a FILE* directly.");
5494
1.25M
    static_assert(!std::is_same_v<T, insufficient_range>,
5495
1.25M
                  "\n"
5496
1.25M
                  "Unsupported range type given as input to a scanning "
5497
1.25M
                  "function.\n"
5498
1.25M
                  "In order to be scannable, a range needs to satisfy "
5499
1.25M
                  "`forward_range`. `input_range` is not sufficient.");
5500
1.25M
    static_assert(!std::is_same_v<T, invalid_input_range>,
5501
1.25M
                  "\n"
5502
1.25M
                  "Unsupported range type given as input to a scanning "
5503
1.25M
                  "function.\n"
5504
1.25M
                  "A range needs to model forward_range and have a valid "
5505
1.25M
                  "character type (char or wchar_t) to be scannable.\n"
5506
1.25M
                  "Examples of scannable ranges are std::string, "
5507
1.25M
                  "std::string_view, "
5508
1.25M
                  "std::vector<char>, and scn::istreambuf_view.\n"
5509
1.25M
                  "See the scnlib documentation for more details.");
5510
5511
1.25M
    return _make_scan_buffer::impl(range, priority_tag<4>{});
5512
1.25M
}
auto scn::v4::detail::make_scan_buffer<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> const&)
Line
Count
Source
5465
450k
{
5466
450k
    using T = decltype(_make_scan_buffer::impl(range, priority_tag<4>{}));
5467
5468
450k
    static_assert(!std::is_same_v<T, invalid_char_type>,
5469
450k
                  "\n"
5470
450k
                  "Unsupported range type given as input to a scanning "
5471
450k
                  "function.\n"
5472
450k
                  "A range needs to have a character type (value type) "
5473
450k
                  "of either `char` or `wchar_t` to be scannable.\n"
5474
450k
                  "For proper `wchar_t` support, <scn/xchar.h> needs "
5475
450k
                  "to be included.\n"
5476
450k
                  "See the scnlib documentation for more details.");
5477
450k
    static_assert(
5478
450k
        !std::is_same_v<T, custom_char_traits>,
5479
450k
        "\n"
5480
450k
        "Unsupported range type given as input to a scanning "
5481
450k
        "function.\n"
5482
450k
        "String types (std::basic_string, and std::basic_string_view) "
5483
450k
        "need to use std::char_traits. Strings with custom Traits are "
5484
450k
        "not supported.");
5485
450k
    static_assert(!std::is_same_v<T, file_marker_found>,
5486
450k
                  "\n"
5487
450k
                  "Unsupported range type given as input to a scanning "
5488
450k
                  "function.\n"
5489
450k
                  "file_marker_found cannot be used as an "
5490
450k
                  "source range type to scn::scan.\n"
5491
450k
                  "To read from stdin, use scn::input or scn::prompt, "
5492
450k
                  "and do not provide an explicit source range, "
5493
450k
                  "or use scn::scan with a FILE* directly.");
5494
450k
    static_assert(!std::is_same_v<T, insufficient_range>,
5495
450k
                  "\n"
5496
450k
                  "Unsupported range type given as input to a scanning "
5497
450k
                  "function.\n"
5498
450k
                  "In order to be scannable, a range needs to satisfy "
5499
450k
                  "`forward_range`. `input_range` is not sufficient.");
5500
450k
    static_assert(!std::is_same_v<T, invalid_input_range>,
5501
450k
                  "\n"
5502
450k
                  "Unsupported range type given as input to a scanning "
5503
450k
                  "function.\n"
5504
450k
                  "A range needs to model forward_range and have a valid "
5505
450k
                  "character type (char or wchar_t) to be scannable.\n"
5506
450k
                  "Examples of scannable ranges are std::string, "
5507
450k
                  "std::string_view, "
5508
450k
                  "std::vector<char>, and scn::istreambuf_view.\n"
5509
450k
                  "See the scnlib documentation for more details.");
5510
5511
450k
    return _make_scan_buffer::impl(range, priority_tag<4>{});
5512
450k
}
auto scn::v4::detail::make_scan_buffer<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >(scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > const&)
Line
Count
Source
5465
449k
{
5466
449k
    using T = decltype(_make_scan_buffer::impl(range, priority_tag<4>{}));
5467
5468
449k
    static_assert(!std::is_same_v<T, invalid_char_type>,
5469
449k
                  "\n"
5470
449k
                  "Unsupported range type given as input to a scanning "
5471
449k
                  "function.\n"
5472
449k
                  "A range needs to have a character type (value type) "
5473
449k
                  "of either `char` or `wchar_t` to be scannable.\n"
5474
449k
                  "For proper `wchar_t` support, <scn/xchar.h> needs "
5475
449k
                  "to be included.\n"
5476
449k
                  "See the scnlib documentation for more details.");
5477
449k
    static_assert(
5478
449k
        !std::is_same_v<T, custom_char_traits>,
5479
449k
        "\n"
5480
449k
        "Unsupported range type given as input to a scanning "
5481
449k
        "function.\n"
5482
449k
        "String types (std::basic_string, and std::basic_string_view) "
5483
449k
        "need to use std::char_traits. Strings with custom Traits are "
5484
449k
        "not supported.");
5485
449k
    static_assert(!std::is_same_v<T, file_marker_found>,
5486
449k
                  "\n"
5487
449k
                  "Unsupported range type given as input to a scanning "
5488
449k
                  "function.\n"
5489
449k
                  "file_marker_found cannot be used as an "
5490
449k
                  "source range type to scn::scan.\n"
5491
449k
                  "To read from stdin, use scn::input or scn::prompt, "
5492
449k
                  "and do not provide an explicit source range, "
5493
449k
                  "or use scn::scan with a FILE* directly.");
5494
449k
    static_assert(!std::is_same_v<T, insufficient_range>,
5495
449k
                  "\n"
5496
449k
                  "Unsupported range type given as input to a scanning "
5497
449k
                  "function.\n"
5498
449k
                  "In order to be scannable, a range needs to satisfy "
5499
449k
                  "`forward_range`. `input_range` is not sufficient.");
5500
449k
    static_assert(!std::is_same_v<T, invalid_input_range>,
5501
449k
                  "\n"
5502
449k
                  "Unsupported range type given as input to a scanning "
5503
449k
                  "function.\n"
5504
449k
                  "A range needs to model forward_range and have a valid "
5505
449k
                  "character type (char or wchar_t) to be scannable.\n"
5506
449k
                  "Examples of scannable ranges are std::string, "
5507
449k
                  "std::string_view, "
5508
449k
                  "std::vector<char>, and scn::istreambuf_view.\n"
5509
449k
                  "See the scnlib documentation for more details.");
5510
5511
449k
    return _make_scan_buffer::impl(range, priority_tag<4>{});
5512
449k
}
auto scn::v4::detail::make_scan_buffer<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const&)
Line
Count
Source
5465
176k
{
5466
176k
    using T = decltype(_make_scan_buffer::impl(range, priority_tag<4>{}));
5467
5468
176k
    static_assert(!std::is_same_v<T, invalid_char_type>,
5469
176k
                  "\n"
5470
176k
                  "Unsupported range type given as input to a scanning "
5471
176k
                  "function.\n"
5472
176k
                  "A range needs to have a character type (value type) "
5473
176k
                  "of either `char` or `wchar_t` to be scannable.\n"
5474
176k
                  "For proper `wchar_t` support, <scn/xchar.h> needs "
5475
176k
                  "to be included.\n"
5476
176k
                  "See the scnlib documentation for more details.");
5477
176k
    static_assert(
5478
176k
        !std::is_same_v<T, custom_char_traits>,
5479
176k
        "\n"
5480
176k
        "Unsupported range type given as input to a scanning "
5481
176k
        "function.\n"
5482
176k
        "String types (std::basic_string, and std::basic_string_view) "
5483
176k
        "need to use std::char_traits. Strings with custom Traits are "
5484
176k
        "not supported.");
5485
176k
    static_assert(!std::is_same_v<T, file_marker_found>,
5486
176k
                  "\n"
5487
176k
                  "Unsupported range type given as input to a scanning "
5488
176k
                  "function.\n"
5489
176k
                  "file_marker_found cannot be used as an "
5490
176k
                  "source range type to scn::scan.\n"
5491
176k
                  "To read from stdin, use scn::input or scn::prompt, "
5492
176k
                  "and do not provide an explicit source range, "
5493
176k
                  "or use scn::scan with a FILE* directly.");
5494
176k
    static_assert(!std::is_same_v<T, insufficient_range>,
5495
176k
                  "\n"
5496
176k
                  "Unsupported range type given as input to a scanning "
5497
176k
                  "function.\n"
5498
176k
                  "In order to be scannable, a range needs to satisfy "
5499
176k
                  "`forward_range`. `input_range` is not sufficient.");
5500
176k
    static_assert(!std::is_same_v<T, invalid_input_range>,
5501
176k
                  "\n"
5502
176k
                  "Unsupported range type given as input to a scanning "
5503
176k
                  "function.\n"
5504
176k
                  "A range needs to model forward_range and have a valid "
5505
176k
                  "character type (char or wchar_t) to be scannable.\n"
5506
176k
                  "Examples of scannable ranges are std::string, "
5507
176k
                  "std::string_view, "
5508
176k
                  "std::vector<char>, and scn::istreambuf_view.\n"
5509
176k
                  "See the scnlib documentation for more details.");
5510
5511
176k
    return _make_scan_buffer::impl(range, priority_tag<4>{});
5512
176k
}
auto scn::v4::detail::make_scan_buffer<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >(scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > const&)
Line
Count
Source
5465
176k
{
5466
176k
    using T = decltype(_make_scan_buffer::impl(range, priority_tag<4>{}));
5467
5468
176k
    static_assert(!std::is_same_v<T, invalid_char_type>,
5469
176k
                  "\n"
5470
176k
                  "Unsupported range type given as input to a scanning "
5471
176k
                  "function.\n"
5472
176k
                  "A range needs to have a character type (value type) "
5473
176k
                  "of either `char` or `wchar_t` to be scannable.\n"
5474
176k
                  "For proper `wchar_t` support, <scn/xchar.h> needs "
5475
176k
                  "to be included.\n"
5476
176k
                  "See the scnlib documentation for more details.");
5477
176k
    static_assert(
5478
176k
        !std::is_same_v<T, custom_char_traits>,
5479
176k
        "\n"
5480
176k
        "Unsupported range type given as input to a scanning "
5481
176k
        "function.\n"
5482
176k
        "String types (std::basic_string, and std::basic_string_view) "
5483
176k
        "need to use std::char_traits. Strings with custom Traits are "
5484
176k
        "not supported.");
5485
176k
    static_assert(!std::is_same_v<T, file_marker_found>,
5486
176k
                  "\n"
5487
176k
                  "Unsupported range type given as input to a scanning "
5488
176k
                  "function.\n"
5489
176k
                  "file_marker_found cannot be used as an "
5490
176k
                  "source range type to scn::scan.\n"
5491
176k
                  "To read from stdin, use scn::input or scn::prompt, "
5492
176k
                  "and do not provide an explicit source range, "
5493
176k
                  "or use scn::scan with a FILE* directly.");
5494
176k
    static_assert(!std::is_same_v<T, insufficient_range>,
5495
176k
                  "\n"
5496
176k
                  "Unsupported range type given as input to a scanning "
5497
176k
                  "function.\n"
5498
176k
                  "In order to be scannable, a range needs to satisfy "
5499
176k
                  "`forward_range`. `input_range` is not sufficient.");
5500
176k
    static_assert(!std::is_same_v<T, invalid_input_range>,
5501
176k
                  "\n"
5502
176k
                  "Unsupported range type given as input to a scanning "
5503
176k
                  "function.\n"
5504
176k
                  "A range needs to model forward_range and have a valid "
5505
176k
                  "character type (char or wchar_t) to be scannable.\n"
5506
176k
                  "Examples of scannable ranges are std::string, "
5507
176k
                  "std::string_view, "
5508
176k
                  "std::vector<char>, and scn::istreambuf_view.\n"
5509
176k
                  "See the scnlib documentation for more details.");
5510
5511
176k
    return _make_scan_buffer::impl(range, priority_tag<4>{});
5512
176k
}
Unexecuted instantiation: auto scn::v4::detail::make_scan_buffer<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&)
Unexecuted instantiation: auto scn::v4::detail::make_scan_buffer<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Unexecuted instantiation: auto scn::v4::detail::make_scan_buffer<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&)
5513
5514
template <
5515
    typename Range,
5516
    std::enable_if_t<
5517
        !std::is_reference_v<Range> && !ranges::borrowed_range<Range> &&
5518
        !std::is_same_v<std::FILE*, std::remove_reference_t<Range>>>* = nullptr>
5519
auto make_scan_buffer(Range&&) = delete;
5520
}  // namespace detail
5521
5522
/////////////////////////////////////////////////////////////////
5523
// Argument type erasure
5524
/////////////////////////////////////////////////////////////////
5525
5526
namespace detail {
5527
enum class arg_type : unsigned char {
5528
    none_type,
5529
    schar_type,
5530
    short_type,
5531
    int_type,
5532
    long_type,
5533
    llong_type,
5534
    int128_type,
5535
    uchar_type,
5536
    ushort_type,
5537
    uint_type,
5538
    ulong_type,
5539
    ullong_type,
5540
    uint128_type,
5541
    bool_type,
5542
    narrow_character_type,
5543
    wide_character_type,
5544
    code_point_type,
5545
    pointer_type,
5546
    float_type,
5547
    double_type,
5548
    ldouble_type,
5549
    float16_type,
5550
    float32_type,
5551
    float64_type,
5552
    float128_type,
5553
    bfloat16_type,
5554
    // Only a single string_view_type,
5555
    // no separate narrow/wide versions,
5556
    // because only one of them is valid for each CharT
5557
    string_view_type,
5558
    narrow_string_type,
5559
    wide_string_type,
5560
    custom_type,
5561
    last_type = custom_type
5562
};
5563
5564
template <typename>
5565
inline constexpr bool is_type_disabled = SCN_DISABLE_TYPE_CUSTOM;
5566
5567
template <typename CharT>
5568
inline constexpr bool is_type_disabled<basic_regex_matches<CharT>> =
5569
    SCN_DISABLE_REGEX;
5570
5571
template <typename T, typename CharT>
5572
struct arg_type_constant
5573
    : std::integral_constant<arg_type, arg_type::custom_type> {
5574
    using type = T;
5575
};
5576
5577
#define SCN_TYPE_CONSTANT(Type, C, Disabled)              \
5578
    template <typename CharT>                             \
5579
    struct arg_type_constant<Type, CharT>                 \
5580
        : std::integral_constant<arg_type, arg_type::C> { \
5581
        using type = Type;                                \
5582
    };                                                    \
5583
    template <>                                           \
5584
    inline constexpr bool is_type_disabled<Type> = Disabled
5585
5586
SCN_TYPE_CONSTANT(signed char, schar_type, SCN_DISABLE_TYPE_SCHAR);
5587
SCN_TYPE_CONSTANT(short, short_type, SCN_DISABLE_TYPE_SHORT);
5588
SCN_TYPE_CONSTANT(int, int_type, SCN_DISABLE_TYPE_INT);
5589
SCN_TYPE_CONSTANT(long, long_type, SCN_DISABLE_TYPE_LONG);
5590
SCN_TYPE_CONSTANT(long long, llong_type, SCN_DISABLE_TYPE_LONG_LONG);
5591
SCN_TYPE_CONSTANT(unsigned char, uchar_type, SCN_DISABLE_TYPE_UCHAR);
5592
SCN_TYPE_CONSTANT(unsigned short, ushort_type, SCN_DISABLE_TYPE_USHORT);
5593
SCN_TYPE_CONSTANT(unsigned int, uint_type, SCN_DISABLE_TYPE_UINT);
5594
SCN_TYPE_CONSTANT(unsigned long, ulong_type, SCN_DISABLE_TYPE_ULONG);
5595
SCN_TYPE_CONSTANT(unsigned long long, ullong_type, SCN_DISABLE_TYPE_ULONG_LONG);
5596
SCN_TYPE_CONSTANT(bool, bool_type, SCN_DISABLE_TYPE_BOOL);
5597
SCN_TYPE_CONSTANT(char, narrow_character_type, SCN_DISABLE_TYPE_CHAR);
5598
SCN_TYPE_CONSTANT(wchar_t, wide_character_type, SCN_DISABLE_TYPE_CHAR);
5599
SCN_TYPE_CONSTANT(char32_t, code_point_type, SCN_DISABLE_TYPE_CHAR32);
5600
SCN_TYPE_CONSTANT(void*, pointer_type, SCN_DISABLE_TYPE_POINTER);
5601
SCN_TYPE_CONSTANT(const void*, pointer_type, SCN_DISABLE_TYPE_POINTER);
5602
SCN_TYPE_CONSTANT(float, float_type, SCN_DISABLE_TYPE_FLOAT);
5603
SCN_TYPE_CONSTANT(double, double_type, SCN_DISABLE_TYPE_DOUBLE);
5604
SCN_TYPE_CONSTANT(long double, ldouble_type, SCN_DISABLE_TYPE_LONG_DOUBLE);
5605
SCN_TYPE_CONSTANT(std::string_view,
5606
                  string_view_type,
5607
                  SCN_DISABLE_TYPE_STRING_VIEW);
5608
SCN_TYPE_CONSTANT(std::wstring_view,
5609
                  string_view_type,
5610
                  SCN_DISABLE_TYPE_STRING_VIEW);
5611
SCN_TYPE_CONSTANT(std::string, narrow_string_type, SCN_DISABLE_TYPE_STRING);
5612
SCN_TYPE_CONSTANT(std::wstring, wide_string_type, SCN_DISABLE_TYPE_STRING);
5613
5614
#if SCN_HAS_INT128
5615
SCN_TYPE_CONSTANT(int128, int128_type, SCN_DISABLE_TYPE_INT128);
5616
SCN_TYPE_CONSTANT(uint128, uint128_type, SCN_DISABLE_TYPE_UINT128);
5617
#endif
5618
5619
#if SCN_HAS_STD_F16
5620
SCN_TYPE_CONSTANT(std::float16_t, float16_type, SCN_DISABLE_TYPE_FLOAT16);
5621
#endif
5622
#if SCN_HAS_STD_F32
5623
SCN_TYPE_CONSTANT(std::float32_t, float32_type, SCN_DISABLE_TYPE_FLOAT32);
5624
#endif
5625
#if SCN_HAS_STD_F64
5626
SCN_TYPE_CONSTANT(std::float64_t, float64_type, SCN_DISABLE_TYPE_FLOAT64);
5627
#endif
5628
#if SCN_HAS_STD_F128
5629
SCN_TYPE_CONSTANT(std::float128_t, float128_type, SCN_DISABLE_TYPE_FLOAT128);
5630
#endif
5631
#if SCN_HAS_STD_BF16
5632
SCN_TYPE_CONSTANT(std::bfloat16_t, bfloat16_type, SCN_DISABLE_TYPE_BFLOAT16);
5633
#endif
5634
5635
#undef SCN_TYPE_CONSTANT
5636
5637
struct custom_value_type {
5638
    void* value;
5639
    auto (*scan)(void* arg, void* pctx, void* ctx) -> scan_expected<void>;
5640
};
5641
5642
struct unscannable {};
5643
struct unscannable_char : unscannable {};
5644
struct unscannable_const : unscannable {};
5645
struct unscannable_disabled : unscannable {
5646
    unscannable_disabled() = default;
5647
5648
    template <typename T>
5649
    constexpr unscannable_disabled(T&&)
5650
    {
5651
    }
5652
};
5653
5654
struct needs_context_tag {};
5655
5656
template <typename Context>
5657
struct context_tag {
5658
    using type = Context;
5659
};
5660
5661
template <typename T, typename Context>
5662
struct custom_wrapper {
5663
    using context_type = Context;
5664
    T& val;
5665
};
5666
5667
template <typename T, typename Scanner, typename ParseCtx>
5668
scan_expected<void> parse_custom_arg(T&, Scanner& s, ParseCtx& pctx)
5669
{
5670
#if SCN_HAS_EXCEPTIONS
5671
    auto fmt_it = pctx.begin();
5672
    try {
5673
        fmt_it = s.parse(pctx);
5674
    }
5675
    catch (const detail::scan_format_string_error_base& ex) {
5676
        SCN_CLANG_PUSH
5677
        SCN_CLANG_IGNORE("-Wexit-time-destructors")
5678
        // scan_error takes a const char*.
5679
        // scan_format_string_error (or, actually, std::runtime_error)
5680
        // stores a reference-counted string,
5681
        // that will go out of scope here.
5682
        // We need to provide a const char* that will stay in scope.
5683
        // If scan_format_string_error was thrown with a string literal,
5684
        // use that, otherwise refer to a thread_local std::string
5685
        if (const char* m = get_internal_literal_msg(ex)) {
5686
            return unexpected_scan_error(scan_error::invalid_format_string, m);
5687
        }
5688
        thread_local std::string err_msg{};
5689
        err_msg = ex.what();
5690
        return unexpected_scan_error(scan_error::invalid_format_string,
5691
                                     err_msg.c_str());
5692
        SCN_CLANG_POP
5693
    }
5694
#else
5695
    auto fmt_it = s.parse(pctx_ref);
5696
#endif
5697
    if (auto e = pctx.get_error(); SCN_UNLIKELY(!e)) {
5698
        return e;
5699
    }
5700
    pctx.advance_to(fmt_it);
5701
    return {};
5702
}
5703
5704
class arg_value {
5705
public:
5706
    // trivial default initialization in constexpr
5707
#if defined(__cpp_constexpr) && __cpp_constexpr >= 201907L && \
5708
    SCN_STD > SCN_STD_20
5709
    constexpr arg_value() = default;
5710
#else
5711
1.25M
    arg_value() = default;
5712
#endif
5713
5714
    template <typename T>
5715
1.25M
    explicit constexpr arg_value(T& val) : ref_value{std::addressof(val)}
5716
1.25M
    {
5717
1.25M
    }
scn::v4::detail::arg_value::arg_value<signed char>(signed char&)
Line
Count
Source
5715
205k
    explicit constexpr arg_value(T& val) : ref_value{std::addressof(val)}
5716
205k
    {
5717
205k
    }
scn::v4::detail::arg_value::arg_value<unsigned char>(unsigned char&)
Line
Count
Source
5715
187k
    explicit constexpr arg_value(T& val) : ref_value{std::addressof(val)}
5716
187k
    {
5717
187k
    }
scn::v4::detail::arg_value::arg_value<int>(int&)
Line
Count
Source
5715
229k
    explicit constexpr arg_value(T& val) : ref_value{std::addressof(val)}
5716
229k
    {
5717
229k
    }
scn::v4::detail::arg_value::arg_value<unsigned int>(unsigned int&)
Line
Count
Source
5715
198k
    explicit constexpr arg_value(T& val) : ref_value{std::addressof(val)}
5716
198k
    {
5717
198k
    }
scn::v4::detail::arg_value::arg_value<long long>(long long&)
Line
Count
Source
5715
232k
    explicit constexpr arg_value(T& val) : ref_value{std::addressof(val)}
5716
232k
    {
5717
232k
    }
scn::v4::detail::arg_value::arg_value<unsigned long long>(unsigned long long&)
Line
Count
Source
5715
199k
    explicit constexpr arg_value(T& val) : ref_value{std::addressof(val)}
5716
199k
    {
5717
199k
    }
Unexecuted instantiation: scn::v4::detail::arg_value::arg_value<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Unexecuted instantiation: scn::v4::detail::arg_value::arg_value<double>(double&)
5718
5719
    template <typename T, typename Context>
5720
    explicit constexpr arg_value(custom_wrapper<T, Context> val)
5721
        : custom_value{static_cast<void*>(&val.val),
5722
                       scan_custom_arg<T, Context>}
5723
    {
5724
    }
5725
5726
    arg_value(unscannable);
5727
    arg_value(unscannable_char);
5728
    arg_value(unscannable_const);
5729
    arg_value(unscannable_disabled);
5730
5731
    union {
5732
        void* ref_value{nullptr};
5733
        custom_value_type custom_value;
5734
    };
5735
5736
private:
5737
    template <typename T, typename Context>
5738
    static scan_expected<void> scan_custom_arg(void* arg, void* pctx, void* ctx)
5739
    {
5740
        static_assert(!is_type_disabled<T>,
5741
                      "Scanning of custom types is disabled by "
5742
                      "SCN_DISABLE_TYPE_CUSTOM");
5743
        SCN_EXPECT(arg && pctx && ctx);
5744
5745
        using context_type = Context;
5746
        using parse_context_type = typename context_type::parse_context_type;
5747
        using scanner_type = typename context_type::template scanner_type<T>;
5748
5749
        auto s = scanner_type{};
5750
5751
        auto& arg_ref = *static_cast<T*>(arg);
5752
        auto& pctx_ref = *static_cast<parse_context_type*>(pctx);
5753
        auto& ctx_ref = *static_cast<context_type*>(ctx);
5754
5755
        SCN_TRY_DISCARD(parse_custom_arg(arg_ref, s, pctx_ref));
5756
        SCN_TRY(it, s.scan(arg_ref, ctx_ref));
5757
        ctx_ref.advance_to(SCN_MOVE(it));
5758
5759
        return {};
5760
    }
5761
};
5762
5763
template <typename CharT>
5764
struct arg_mapper {
5765
    using char_type = CharT;
5766
    using other_char_type =
5767
        std::conditional_t<std::is_same_v<char_type, char>, wchar_t, char>;
5768
5769
#define SCN_ARG_MAPPER(T)                                                    \
5770
    static auto map(T& val)                                                  \
5771
        -> std::conditional_t<is_type_disabled<T>, unscannable_disabled, T&> \
5772
1.25M
    {                                                                        \
5773
1.25M
        return val;                                                          \
5774
1.25M
    }
scn::v4::detail::arg_mapper<char>::map(signed char&)
Line
Count
Source
5772
146k
    {                                                                        \
5773
146k
        return val;                                                          \
5774
146k
    }
scn::v4::detail::arg_mapper<char>::map(unsigned char&)
Line
Count
Source
5772
128k
    {                                                                        \
5773
128k
        return val;                                                          \
5774
128k
    }
scn::v4::detail::arg_mapper<char>::map(int&)
Line
Count
Source
5772
170k
    {                                                                        \
5773
170k
        return val;                                                          \
5774
170k
    }
scn::v4::detail::arg_mapper<char>::map(unsigned int&)
Line
Count
Source
5772
139k
    {                                                                        \
5773
139k
        return val;                                                          \
5774
139k
    }
scn::v4::detail::arg_mapper<char>::map(long long&)
Line
Count
Source
5772
173k
    {                                                                        \
5773
173k
        return val;                                                          \
5774
173k
    }
scn::v4::detail::arg_mapper<char>::map(unsigned long long&)
Line
Count
Source
5772
140k
    {                                                                        \
5773
140k
        return val;                                                          \
5774
140k
    }
scn::v4::detail::arg_mapper<wchar_t>::map(signed char&)
Line
Count
Source
5772
58.7k
    {                                                                        \
5773
58.7k
        return val;                                                          \
5774
58.7k
    }
scn::v4::detail::arg_mapper<wchar_t>::map(unsigned char&)
Line
Count
Source
5772
58.5k
    {                                                                        \
5773
58.5k
        return val;                                                          \
5774
58.5k
    }
scn::v4::detail::arg_mapper<wchar_t>::map(int&)
Line
Count
Source
5772
58.9k
    {                                                                        \
5773
58.9k
        return val;                                                          \
5774
58.9k
    }
scn::v4::detail::arg_mapper<wchar_t>::map(unsigned int&)
Line
Count
Source
5772
58.7k
    {                                                                        \
5773
58.7k
        return val;                                                          \
5774
58.7k
    }
scn::v4::detail::arg_mapper<wchar_t>::map(long long&)
Line
Count
Source
5772
59.1k
    {                                                                        \
5773
59.1k
        return val;                                                          \
5774
59.1k
    }
scn::v4::detail::arg_mapper<wchar_t>::map(unsigned long long&)
Line
Count
Source
5772
58.8k
    {                                                                        \
5773
58.8k
        return val;                                                          \
5774
58.8k
    }
Unexecuted instantiation: scn::v4::detail::arg_mapper<char>::map(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Unexecuted instantiation: scn::v4::detail::arg_mapper<char>::map(double&)
Unexecuted instantiation: scn::v4::detail::arg_mapper<wchar_t>::map(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
5775
5776
    SCN_ARG_MAPPER(signed char)
5777
    SCN_ARG_MAPPER(short)
5778
    SCN_ARG_MAPPER(int)
5779
    SCN_ARG_MAPPER(long)
5780
    SCN_ARG_MAPPER(long long)
5781
    SCN_ARG_MAPPER(unsigned char)
5782
    SCN_ARG_MAPPER(unsigned short)
5783
    SCN_ARG_MAPPER(unsigned)
5784
    SCN_ARG_MAPPER(unsigned long)
5785
    SCN_ARG_MAPPER(unsigned long long)
5786
    SCN_ARG_MAPPER(wchar_t)
5787
    SCN_ARG_MAPPER(char32_t)
5788
    SCN_ARG_MAPPER(bool)
5789
    SCN_ARG_MAPPER(void*)
5790
    SCN_ARG_MAPPER(const void*)
5791
    SCN_ARG_MAPPER(float)
5792
    SCN_ARG_MAPPER(double)
5793
    SCN_ARG_MAPPER(long double)
5794
5795
    SCN_ARG_MAPPER(std::basic_string_view<char_type>)
5796
    SCN_ARG_MAPPER(std::string)
5797
    SCN_ARG_MAPPER(std::wstring)
5798
5799
#if SCN_HAS_INT128
5800
    SCN_ARG_MAPPER(int128)
5801
    SCN_ARG_MAPPER(uint128)
5802
#endif
5803
5804
#if SCN_HAS_STD_F16
5805
    SCN_ARG_MAPPER(std::float16_t)
5806
#endif
5807
#if SCN_HAS_STD_F32
5808
    SCN_ARG_MAPPER(std::float32_t)
5809
#endif
5810
#if SCN_HAS_STD_F64
5811
    SCN_ARG_MAPPER(std::float64_t)
5812
#endif
5813
#if SCN_HAS_STD_F128
5814
    SCN_ARG_MAPPER(std::float128_t)
5815
#endif
5816
#if SCN_HAS_STD_BF16
5817
    SCN_ARG_MAPPER(std::bfloat16_t)
5818
#endif
5819
5820
#undef SCN_ARG_MAPPER
5821
5822
    static decltype(auto) map(char& val)
5823
    {
5824
        if constexpr (std::is_same_v<char_type, char> &&
5825
                      !is_type_disabled<char_type>) {
5826
            return val;
5827
        }
5828
        else if constexpr (is_type_disabled<char_type>) {
5829
            return unscannable_disabled{val};
5830
        }
5831
        else {
5832
            SCN_UNUSED(val);
5833
            return unscannable_char{};
5834
        }
5835
    }
5836
5837
#if !SCN_DISABLE_REGEX
5838
    // regex_matches treated as a custom type, not packed,
5839
    // to save bits in the packed value,
5840
    // and since regex reading isn't fast anyway
5841
    template <typename T, typename Context>
5842
    static auto map(basic_regex_matches<char_type>& val)
5843
    {
5844
        if constexpr (is_type_disabled<char_type>) {
5845
            return unscannable_disabled{val};
5846
        }
5847
        else {
5848
            return custom_wrapper<T, Context>{val};
5849
        }
5850
    }
5851
    static unscannable_char map(basic_regex_matches<other_char_type>&)
5852
    {
5853
        return {};
5854
    }
5855
#endif
5856
5857
    static unscannable_char map(std::basic_string_view<other_char_type>&)
5858
    {
5859
        return {};
5860
    }
5861
5862
    template <typename T,
5863
              std::enable_if_t<std::is_default_constructible_v<
5864
                  scanner<T, char_type>>>* = nullptr>
5865
    static needs_context_tag map(T&)
5866
    {
5867
        return {};
5868
    }
5869
5870
    template <typename T,
5871
              typename Context,
5872
              std::enable_if_t<std::is_default_constructible_v<
5873
                  scanner<T, char_type>>>* = nullptr>
5874
    static custom_wrapper<T, Context> map(T& val, context_tag<Context>)
5875
    {
5876
        return {val};
5877
    }
5878
5879
    static unscannable map(...)
5880
    {
5881
        return {};
5882
    }
5883
};
5884
5885
template <typename T, typename CharT>
5886
using mapped_type_constant = arg_type_constant<
5887
    std::remove_reference_t<decltype(arg_mapper<CharT>().map(SCN_DECLVAL(T&)))>,
5888
    CharT>;
5889
5890
template <typename T, typename CharT>
5891
using is_scannable = std::integral_constant<
5892
    bool,
5893
    !std::is_base_of_v<
5894
        unscannable,
5895
        remove_cvref_t<decltype(arg_mapper<CharT>().map(SCN_DECLVAL(T&)))>>>;
5896
5897
inline constexpr std::size_t packed_arg_bits = 5;
5898
static_assert((1 << packed_arg_bits) > static_cast<int>(arg_type::last_type),
5899
              "If this fails, there are more `arg_type` values than values "
5900
              "that can fit in `packed_arg_bits`. Either something needs to be "
5901
              "removed from `arg_type` (spilling them to the stack), or "
5902
              "`packed_arg_bits` must be increased (causing the number of "
5903
              "arguments that can be packed to decrease)");
5904
inline constexpr std::size_t bits_in_sz = sizeof(std::size_t) * 8;
5905
inline constexpr std::size_t max_packed_args =
5906
    (bits_in_sz - 2) / packed_arg_bits - 1;
5907
inline constexpr std::size_t is_unpacked_bit = std::size_t{1}
5908
                                               << (bits_in_sz - 1);
5909
inline constexpr std::size_t has_custom_types_bit = std::size_t{1}
5910
                                                    << (bits_in_sz - 2);
5911
5912
template <typename>
5913
constexpr size_t encode_types_impl()
5914
0
{
5915
0
    return 0;
5916
0
}
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<char>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<wchar_t>()
5917
template <typename CharT, typename T, typename... Others>
5918
constexpr size_t encode_types_impl()
5919
0
{
5920
0
    return static_cast<unsigned>(mapped_type_constant<T, CharT>::value) |
5921
0
           (encode_types_impl<CharT, Others...>() << packed_arg_bits);
5922
0
}
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<char, signed char>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<char, unsigned char>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<char, int>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<char, unsigned int>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<char, long long>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<char, unsigned long long>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<wchar_t, signed char>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<wchar_t, unsigned char>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<wchar_t, int>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<wchar_t, unsigned int>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<wchar_t, long long>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<wchar_t, unsigned long long>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<char, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<char, double>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<wchar_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >>()
5923
5924
template <typename CharT, typename... Ts>
5925
constexpr size_t encode_types()
5926
0
{
5927
0
    if constexpr (sizeof...(Ts) < (1 << packed_arg_bits)) {
5928
0
        return sizeof...(Ts) |
5929
0
               (encode_types_impl<CharT, Ts...>() << packed_arg_bits);
5930
0
    }
5931
0
    else {
5932
0
        SCN_EXPECT(false);
5933
0
        SCN_UNREACHABLE;
5934
0
    }
5935
0
}
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types<char, signed char>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types<char, unsigned char>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types<char, int>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types<char, unsigned int>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types<char, long long>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types<char, unsigned long long>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types<wchar_t, signed char>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types<wchar_t, unsigned char>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types<wchar_t, int>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types<wchar_t, unsigned int>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types<wchar_t, long long>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types<wchar_t, unsigned long long>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types<char, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types<char, double>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types<wchar_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
5936
5937
template <typename T, typename Arg>
5938
constexpr auto make_value_impl(Arg&& arg)
5939
1.25M
{
5940
1.25M
    using arg_nocvref_t = remove_cvref_t<Arg>;
5941
1.25M
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5942
5943
1.25M
    constexpr bool scannable_char =
5944
1.25M
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5945
1.25M
    static_assert(scannable_char,
5946
1.25M
                  "Cannot scan an argument of an unsupported character "
5947
1.25M
                  "type (i.e. char from a wchar_t source)");
5948
5949
1.25M
    constexpr bool scannable_const =
5950
1.25M
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5951
1.25M
    static_assert(scannable_const, "Cannot scan a const argument");
5952
5953
1.25M
    constexpr bool scannable_disabled =
5954
1.25M
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5955
1.25M
    static_assert(scannable_disabled,
5956
1.25M
                  "Cannot scan an argument that has been disabled by "
5957
1.25M
                  "flag (SCN_DISABLE_TYPE_*)");
5958
5959
1.25M
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5960
1.25M
    static_assert(
5961
1.25M
        scannable,
5962
1.25M
        "Cannot scan an argument. To make a type T scannable, provide "
5963
1.25M
        "a scn::scanner<T, CharT> specialization.");
5964
5965
1.25M
    return arg_value{arg};
5966
1.25M
}
auto scn::v4::detail::make_value_impl<signed char, signed char&>(signed char&)
Line
Count
Source
5939
205k
{
5940
205k
    using arg_nocvref_t = remove_cvref_t<Arg>;
5941
205k
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5942
5943
205k
    constexpr bool scannable_char =
5944
205k
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5945
205k
    static_assert(scannable_char,
5946
205k
                  "Cannot scan an argument of an unsupported character "
5947
205k
                  "type (i.e. char from a wchar_t source)");
5948
5949
205k
    constexpr bool scannable_const =
5950
205k
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5951
205k
    static_assert(scannable_const, "Cannot scan a const argument");
5952
5953
205k
    constexpr bool scannable_disabled =
5954
205k
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5955
205k
    static_assert(scannable_disabled,
5956
205k
                  "Cannot scan an argument that has been disabled by "
5957
205k
                  "flag (SCN_DISABLE_TYPE_*)");
5958
5959
205k
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5960
205k
    static_assert(
5961
205k
        scannable,
5962
205k
        "Cannot scan an argument. To make a type T scannable, provide "
5963
205k
        "a scn::scanner<T, CharT> specialization.");
5964
5965
205k
    return arg_value{arg};
5966
205k
}
auto scn::v4::detail::make_value_impl<unsigned char, unsigned char&>(unsigned char&)
Line
Count
Source
5939
187k
{
5940
187k
    using arg_nocvref_t = remove_cvref_t<Arg>;
5941
187k
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5942
5943
187k
    constexpr bool scannable_char =
5944
187k
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5945
187k
    static_assert(scannable_char,
5946
187k
                  "Cannot scan an argument of an unsupported character "
5947
187k
                  "type (i.e. char from a wchar_t source)");
5948
5949
187k
    constexpr bool scannable_const =
5950
187k
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5951
187k
    static_assert(scannable_const, "Cannot scan a const argument");
5952
5953
187k
    constexpr bool scannable_disabled =
5954
187k
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5955
187k
    static_assert(scannable_disabled,
5956
187k
                  "Cannot scan an argument that has been disabled by "
5957
187k
                  "flag (SCN_DISABLE_TYPE_*)");
5958
5959
187k
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5960
187k
    static_assert(
5961
187k
        scannable,
5962
187k
        "Cannot scan an argument. To make a type T scannable, provide "
5963
187k
        "a scn::scanner<T, CharT> specialization.");
5964
5965
187k
    return arg_value{arg};
5966
187k
}
auto scn::v4::detail::make_value_impl<int, int&>(int&)
Line
Count
Source
5939
229k
{
5940
229k
    using arg_nocvref_t = remove_cvref_t<Arg>;
5941
229k
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5942
5943
229k
    constexpr bool scannable_char =
5944
229k
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5945
229k
    static_assert(scannable_char,
5946
229k
                  "Cannot scan an argument of an unsupported character "
5947
229k
                  "type (i.e. char from a wchar_t source)");
5948
5949
229k
    constexpr bool scannable_const =
5950
229k
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5951
229k
    static_assert(scannable_const, "Cannot scan a const argument");
5952
5953
229k
    constexpr bool scannable_disabled =
5954
229k
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5955
229k
    static_assert(scannable_disabled,
5956
229k
                  "Cannot scan an argument that has been disabled by "
5957
229k
                  "flag (SCN_DISABLE_TYPE_*)");
5958
5959
229k
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5960
229k
    static_assert(
5961
229k
        scannable,
5962
229k
        "Cannot scan an argument. To make a type T scannable, provide "
5963
229k
        "a scn::scanner<T, CharT> specialization.");
5964
5965
229k
    return arg_value{arg};
5966
229k
}
auto scn::v4::detail::make_value_impl<unsigned int, unsigned int&>(unsigned int&)
Line
Count
Source
5939
198k
{
5940
198k
    using arg_nocvref_t = remove_cvref_t<Arg>;
5941
198k
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5942
5943
198k
    constexpr bool scannable_char =
5944
198k
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5945
198k
    static_assert(scannable_char,
5946
198k
                  "Cannot scan an argument of an unsupported character "
5947
198k
                  "type (i.e. char from a wchar_t source)");
5948
5949
198k
    constexpr bool scannable_const =
5950
198k
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5951
198k
    static_assert(scannable_const, "Cannot scan a const argument");
5952
5953
198k
    constexpr bool scannable_disabled =
5954
198k
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5955
198k
    static_assert(scannable_disabled,
5956
198k
                  "Cannot scan an argument that has been disabled by "
5957
198k
                  "flag (SCN_DISABLE_TYPE_*)");
5958
5959
198k
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5960
198k
    static_assert(
5961
198k
        scannable,
5962
198k
        "Cannot scan an argument. To make a type T scannable, provide "
5963
198k
        "a scn::scanner<T, CharT> specialization.");
5964
5965
198k
    return arg_value{arg};
5966
198k
}
auto scn::v4::detail::make_value_impl<long long, long long&>(long long&)
Line
Count
Source
5939
232k
{
5940
232k
    using arg_nocvref_t = remove_cvref_t<Arg>;
5941
232k
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5942
5943
232k
    constexpr bool scannable_char =
5944
232k
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5945
232k
    static_assert(scannable_char,
5946
232k
                  "Cannot scan an argument of an unsupported character "
5947
232k
                  "type (i.e. char from a wchar_t source)");
5948
5949
232k
    constexpr bool scannable_const =
5950
232k
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5951
232k
    static_assert(scannable_const, "Cannot scan a const argument");
5952
5953
232k
    constexpr bool scannable_disabled =
5954
232k
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5955
232k
    static_assert(scannable_disabled,
5956
232k
                  "Cannot scan an argument that has been disabled by "
5957
232k
                  "flag (SCN_DISABLE_TYPE_*)");
5958
5959
232k
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5960
232k
    static_assert(
5961
232k
        scannable,
5962
232k
        "Cannot scan an argument. To make a type T scannable, provide "
5963
232k
        "a scn::scanner<T, CharT> specialization.");
5964
5965
232k
    return arg_value{arg};
5966
232k
}
auto scn::v4::detail::make_value_impl<unsigned long long, unsigned long long&>(unsigned long long&)
Line
Count
Source
5939
199k
{
5940
199k
    using arg_nocvref_t = remove_cvref_t<Arg>;
5941
199k
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5942
5943
199k
    constexpr bool scannable_char =
5944
199k
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5945
199k
    static_assert(scannable_char,
5946
199k
                  "Cannot scan an argument of an unsupported character "
5947
199k
                  "type (i.e. char from a wchar_t source)");
5948
5949
199k
    constexpr bool scannable_const =
5950
199k
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5951
199k
    static_assert(scannable_const, "Cannot scan a const argument");
5952
5953
199k
    constexpr bool scannable_disabled =
5954
199k
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5955
199k
    static_assert(scannable_disabled,
5956
199k
                  "Cannot scan an argument that has been disabled by "
5957
199k
                  "flag (SCN_DISABLE_TYPE_*)");
5958
5959
199k
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5960
199k
    static_assert(
5961
199k
        scannable,
5962
199k
        "Cannot scan an argument. To make a type T scannable, provide "
5963
199k
        "a scn::scanner<T, CharT> specialization.");
5964
5965
199k
    return arg_value{arg};
5966
199k
}
Unexecuted instantiation: auto scn::v4::detail::make_value_impl<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Unexecuted instantiation: auto scn::v4::detail::make_value_impl<double, double&>(double&)
5967
5968
template <typename Context, typename T>
5969
constexpr auto make_value(T& value)
5970
1.25M
{
5971
1.25M
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5972
5973
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5974
1.25M
                                  needs_context_tag>) {
5975
1.25M
        return make_value_impl<T>(SCN_FWD(arg));
5976
    }
5977
    else {
5978
        return make_value_impl<T>(arg_mapper<typename Context::char_type>().map(
5979
            value, context_tag<Context>{}));
5980
    }
5981
1.25M
}
auto scn::v4::detail::make_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, signed char>(signed char&)
Line
Count
Source
5970
146k
{
5971
146k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5972
5973
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5974
146k
                                  needs_context_tag>) {
5975
146k
        return make_value_impl<T>(SCN_FWD(arg));
5976
    }
5977
    else {
5978
        return make_value_impl<T>(arg_mapper<typename Context::char_type>().map(
5979
            value, context_tag<Context>{}));
5980
    }
5981
146k
}
auto scn::v4::detail::make_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, unsigned char>(unsigned char&)
Line
Count
Source
5970
128k
{
5971
128k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5972
5973
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5974
128k
                                  needs_context_tag>) {
5975
128k
        return make_value_impl<T>(SCN_FWD(arg));
5976
    }
5977
    else {
5978
        return make_value_impl<T>(arg_mapper<typename Context::char_type>().map(
5979
            value, context_tag<Context>{}));
5980
    }
5981
128k
}
auto scn::v4::detail::make_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, int>(int&)
Line
Count
Source
5970
170k
{
5971
170k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5972
5973
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5974
170k
                                  needs_context_tag>) {
5975
170k
        return make_value_impl<T>(SCN_FWD(arg));
5976
    }
5977
    else {
5978
        return make_value_impl<T>(arg_mapper<typename Context::char_type>().map(
5979
            value, context_tag<Context>{}));
5980
    }
5981
170k
}
auto scn::v4::detail::make_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, unsigned int>(unsigned int&)
Line
Count
Source
5970
139k
{
5971
139k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5972
5973
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5974
139k
                                  needs_context_tag>) {
5975
139k
        return make_value_impl<T>(SCN_FWD(arg));
5976
    }
5977
    else {
5978
        return make_value_impl<T>(arg_mapper<typename Context::char_type>().map(
5979
            value, context_tag<Context>{}));
5980
    }
5981
139k
}
auto scn::v4::detail::make_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, long long>(long long&)
Line
Count
Source
5970
173k
{
5971
173k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5972
5973
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5974
173k
                                  needs_context_tag>) {
5975
173k
        return make_value_impl<T>(SCN_FWD(arg));
5976
    }
5977
    else {
5978
        return make_value_impl<T>(arg_mapper<typename Context::char_type>().map(
5979
            value, context_tag<Context>{}));
5980
    }
5981
173k
}
auto scn::v4::detail::make_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, unsigned long long>(unsigned long long&)
Line
Count
Source
5970
140k
{
5971
140k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5972
5973
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5974
140k
                                  needs_context_tag>) {
5975
140k
        return make_value_impl<T>(SCN_FWD(arg));
5976
    }
5977
    else {
5978
        return make_value_impl<T>(arg_mapper<typename Context::char_type>().map(
5979
            value, context_tag<Context>{}));
5980
    }
5981
140k
}
auto scn::v4::detail::make_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, signed char>(signed char&)
Line
Count
Source
5970
58.7k
{
5971
58.7k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5972
5973
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5974
58.7k
                                  needs_context_tag>) {
5975
58.7k
        return make_value_impl<T>(SCN_FWD(arg));
5976
    }
5977
    else {
5978
        return make_value_impl<T>(arg_mapper<typename Context::char_type>().map(
5979
            value, context_tag<Context>{}));
5980
    }
5981
58.7k
}
auto scn::v4::detail::make_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, unsigned char>(unsigned char&)
Line
Count
Source
5970
58.5k
{
5971
58.5k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5972
5973
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5974
58.5k
                                  needs_context_tag>) {
5975
58.5k
        return make_value_impl<T>(SCN_FWD(arg));
5976
    }
5977
    else {
5978
        return make_value_impl<T>(arg_mapper<typename Context::char_type>().map(
5979
            value, context_tag<Context>{}));
5980
    }
5981
58.5k
}
auto scn::v4::detail::make_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, int>(int&)
Line
Count
Source
5970
58.9k
{
5971
58.9k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5972
5973
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5974
58.9k
                                  needs_context_tag>) {
5975
58.9k
        return make_value_impl<T>(SCN_FWD(arg));
5976
    }
5977
    else {
5978
        return make_value_impl<T>(arg_mapper<typename Context::char_type>().map(
5979
            value, context_tag<Context>{}));
5980
    }
5981
58.9k
}
auto scn::v4::detail::make_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, unsigned int>(unsigned int&)
Line
Count
Source
5970
58.7k
{
5971
58.7k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5972
5973
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5974
58.7k
                                  needs_context_tag>) {
5975
58.7k
        return make_value_impl<T>(SCN_FWD(arg));
5976
    }
5977
    else {
5978
        return make_value_impl<T>(arg_mapper<typename Context::char_type>().map(
5979
            value, context_tag<Context>{}));
5980
    }
5981
58.7k
}
auto scn::v4::detail::make_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, long long>(long long&)
Line
Count
Source
5970
59.1k
{
5971
59.1k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5972
5973
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5974
59.1k
                                  needs_context_tag>) {
5975
59.1k
        return make_value_impl<T>(SCN_FWD(arg));
5976
    }
5977
    else {
5978
        return make_value_impl<T>(arg_mapper<typename Context::char_type>().map(
5979
            value, context_tag<Context>{}));
5980
    }
5981
59.1k
}
auto scn::v4::detail::make_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, unsigned long long>(unsigned long long&)
Line
Count
Source
5970
58.8k
{
5971
58.8k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5972
5973
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5974
58.8k
                                  needs_context_tag>) {
5975
58.8k
        return make_value_impl<T>(SCN_FWD(arg));
5976
    }
5977
    else {
5978
        return make_value_impl<T>(arg_mapper<typename Context::char_type>().map(
5979
            value, context_tag<Context>{}));
5980
    }
5981
58.8k
}
Unexecuted instantiation: auto scn::v4::detail::make_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Unexecuted instantiation: auto scn::v4::detail::make_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, double>(double&)
Unexecuted instantiation: auto scn::v4::detail::make_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
5982
5983
template <typename... Args>
5984
constexpr bool check_scan_arg_types()
5985
1.25M
{
5986
1.25M
    constexpr bool default_constructible_constraint =
5987
1.25M
        std::conjunction_v<std::is_default_constructible<Args>...>;
5988
1.25M
    static_assert(default_constructible_constraint,
5989
1.25M
                  "Scan argument types must be default constructible");
5990
5991
1.25M
    constexpr bool destructible_constraint =
5992
1.25M
        std::conjunction_v<std::is_destructible<Args>...>;
5993
1.25M
    static_assert(destructible_constraint,
5994
1.25M
                  "Scan argument types must be Destructible");
5995
5996
1.25M
    constexpr bool non_reference_constraint =
5997
1.25M
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>;
5998
1.25M
    static_assert(non_reference_constraint,
5999
1.25M
                  "Scan argument types must not be references");
6000
6001
1.25M
    constexpr bool movable_constraint =
6002
1.25M
        std::conjunction_v<std::is_move_constructible<Args>...>;
6003
1.25M
    static_assert(movable_constraint,
6004
1.25M
                  "Scan argument types must be move constructible");
6005
6006
1.25M
    return default_constructible_constraint && destructible_constraint &&
6007
1.25M
           non_reference_constraint && movable_constraint;
6008
1.25M
}
bool scn::v4::detail::check_scan_arg_types<signed char>()
Line
Count
Source
5985
205k
{
5986
205k
    constexpr bool default_constructible_constraint =
5987
205k
        std::conjunction_v<std::is_default_constructible<Args>...>;
5988
205k
    static_assert(default_constructible_constraint,
5989
205k
                  "Scan argument types must be default constructible");
5990
5991
205k
    constexpr bool destructible_constraint =
5992
205k
        std::conjunction_v<std::is_destructible<Args>...>;
5993
205k
    static_assert(destructible_constraint,
5994
205k
                  "Scan argument types must be Destructible");
5995
5996
205k
    constexpr bool non_reference_constraint =
5997
205k
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>;
5998
205k
    static_assert(non_reference_constraint,
5999
205k
                  "Scan argument types must not be references");
6000
6001
205k
    constexpr bool movable_constraint =
6002
205k
        std::conjunction_v<std::is_move_constructible<Args>...>;
6003
205k
    static_assert(movable_constraint,
6004
205k
                  "Scan argument types must be move constructible");
6005
6006
205k
    return default_constructible_constraint && destructible_constraint &&
6007
205k
           non_reference_constraint && movable_constraint;
6008
205k
}
bool scn::v4::detail::check_scan_arg_types<unsigned char>()
Line
Count
Source
5985
187k
{
5986
187k
    constexpr bool default_constructible_constraint =
5987
187k
        std::conjunction_v<std::is_default_constructible<Args>...>;
5988
187k
    static_assert(default_constructible_constraint,
5989
187k
                  "Scan argument types must be default constructible");
5990
5991
187k
    constexpr bool destructible_constraint =
5992
187k
        std::conjunction_v<std::is_destructible<Args>...>;
5993
187k
    static_assert(destructible_constraint,
5994
187k
                  "Scan argument types must be Destructible");
5995
5996
187k
    constexpr bool non_reference_constraint =
5997
187k
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>;
5998
187k
    static_assert(non_reference_constraint,
5999
187k
                  "Scan argument types must not be references");
6000
6001
187k
    constexpr bool movable_constraint =
6002
187k
        std::conjunction_v<std::is_move_constructible<Args>...>;
6003
187k
    static_assert(movable_constraint,
6004
187k
                  "Scan argument types must be move constructible");
6005
6006
187k
    return default_constructible_constraint && destructible_constraint &&
6007
187k
           non_reference_constraint && movable_constraint;
6008
187k
}
bool scn::v4::detail::check_scan_arg_types<int>()
Line
Count
Source
5985
229k
{
5986
229k
    constexpr bool default_constructible_constraint =
5987
229k
        std::conjunction_v<std::is_default_constructible<Args>...>;
5988
229k
    static_assert(default_constructible_constraint,
5989
229k
                  "Scan argument types must be default constructible");
5990
5991
229k
    constexpr bool destructible_constraint =
5992
229k
        std::conjunction_v<std::is_destructible<Args>...>;
5993
229k
    static_assert(destructible_constraint,
5994
229k
                  "Scan argument types must be Destructible");
5995
5996
229k
    constexpr bool non_reference_constraint =
5997
229k
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>;
5998
229k
    static_assert(non_reference_constraint,
5999
229k
                  "Scan argument types must not be references");
6000
6001
229k
    constexpr bool movable_constraint =
6002
229k
        std::conjunction_v<std::is_move_constructible<Args>...>;
6003
229k
    static_assert(movable_constraint,
6004
229k
                  "Scan argument types must be move constructible");
6005
6006
229k
    return default_constructible_constraint && destructible_constraint &&
6007
229k
           non_reference_constraint && movable_constraint;
6008
229k
}
bool scn::v4::detail::check_scan_arg_types<unsigned int>()
Line
Count
Source
5985
198k
{
5986
198k
    constexpr bool default_constructible_constraint =
5987
198k
        std::conjunction_v<std::is_default_constructible<Args>...>;
5988
198k
    static_assert(default_constructible_constraint,
5989
198k
                  "Scan argument types must be default constructible");
5990
5991
198k
    constexpr bool destructible_constraint =
5992
198k
        std::conjunction_v<std::is_destructible<Args>...>;
5993
198k
    static_assert(destructible_constraint,
5994
198k
                  "Scan argument types must be Destructible");
5995
5996
198k
    constexpr bool non_reference_constraint =
5997
198k
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>;
5998
198k
    static_assert(non_reference_constraint,
5999
198k
                  "Scan argument types must not be references");
6000
6001
198k
    constexpr bool movable_constraint =
6002
198k
        std::conjunction_v<std::is_move_constructible<Args>...>;
6003
198k
    static_assert(movable_constraint,
6004
198k
                  "Scan argument types must be move constructible");
6005
6006
198k
    return default_constructible_constraint && destructible_constraint &&
6007
198k
           non_reference_constraint && movable_constraint;
6008
198k
}
bool scn::v4::detail::check_scan_arg_types<long long>()
Line
Count
Source
5985
232k
{
5986
232k
    constexpr bool default_constructible_constraint =
5987
232k
        std::conjunction_v<std::is_default_constructible<Args>...>;
5988
232k
    static_assert(default_constructible_constraint,
5989
232k
                  "Scan argument types must be default constructible");
5990
5991
232k
    constexpr bool destructible_constraint =
5992
232k
        std::conjunction_v<std::is_destructible<Args>...>;
5993
232k
    static_assert(destructible_constraint,
5994
232k
                  "Scan argument types must be Destructible");
5995
5996
232k
    constexpr bool non_reference_constraint =
5997
232k
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>;
5998
232k
    static_assert(non_reference_constraint,
5999
232k
                  "Scan argument types must not be references");
6000
6001
232k
    constexpr bool movable_constraint =
6002
232k
        std::conjunction_v<std::is_move_constructible<Args>...>;
6003
232k
    static_assert(movable_constraint,
6004
232k
                  "Scan argument types must be move constructible");
6005
6006
232k
    return default_constructible_constraint && destructible_constraint &&
6007
232k
           non_reference_constraint && movable_constraint;
6008
232k
}
bool scn::v4::detail::check_scan_arg_types<unsigned long long>()
Line
Count
Source
5985
199k
{
5986
199k
    constexpr bool default_constructible_constraint =
5987
199k
        std::conjunction_v<std::is_default_constructible<Args>...>;
5988
199k
    static_assert(default_constructible_constraint,
5989
199k
                  "Scan argument types must be default constructible");
5990
5991
199k
    constexpr bool destructible_constraint =
5992
199k
        std::conjunction_v<std::is_destructible<Args>...>;
5993
199k
    static_assert(destructible_constraint,
5994
199k
                  "Scan argument types must be Destructible");
5995
5996
199k
    constexpr bool non_reference_constraint =
5997
199k
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>;
5998
199k
    static_assert(non_reference_constraint,
5999
199k
                  "Scan argument types must not be references");
6000
6001
199k
    constexpr bool movable_constraint =
6002
199k
        std::conjunction_v<std::is_move_constructible<Args>...>;
6003
199k
    static_assert(movable_constraint,
6004
199k
                  "Scan argument types must be move constructible");
6005
6006
199k
    return default_constructible_constraint && destructible_constraint &&
6007
199k
           non_reference_constraint && movable_constraint;
6008
199k
}
Unexecuted instantiation: bool scn::v4::detail::check_scan_arg_types<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
Unexecuted instantiation: bool scn::v4::detail::check_scan_arg_types<double>()
6009
6010
enum class scan_arg_store_kind {
6011
    // only built-in types (no custom types), packed
6012
    builtin,
6013
6014
    packed,
6015
    unpacked
6016
};
6017
6018
template <typename Context, typename T>
6019
constexpr basic_scan_arg<Context> make_arg(T& value) noexcept
6020
80.1k
{
6021
80.1k
    check_scan_arg_types<T>();
6022
6023
80.1k
    basic_scan_arg<Context> arg;
6024
80.1k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
6025
80.1k
    arg.m_value = make_value<Context>(value);
6026
80.1k
    return arg;
6027
80.1k
}
scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > scn::v4::detail::make_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, signed char>(signed char&)
Line
Count
Source
6020
10.5k
{
6021
10.5k
    check_scan_arg_types<T>();
6022
6023
10.5k
    basic_scan_arg<Context> arg;
6024
10.5k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
6025
10.5k
    arg.m_value = make_value<Context>(value);
6026
10.5k
    return arg;
6027
10.5k
}
scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > scn::v4::detail::make_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, unsigned char>(unsigned char&)
Line
Count
Source
6020
8.82k
{
6021
8.82k
    check_scan_arg_types<T>();
6022
6023
8.82k
    basic_scan_arg<Context> arg;
6024
8.82k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
6025
8.82k
    arg.m_value = make_value<Context>(value);
6026
8.82k
    return arg;
6027
8.82k
}
scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > scn::v4::detail::make_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, int>(int&)
Line
Count
Source
6020
12.0k
{
6021
12.0k
    check_scan_arg_types<T>();
6022
6023
12.0k
    basic_scan_arg<Context> arg;
6024
12.0k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
6025
12.0k
    arg.m_value = make_value<Context>(value);
6026
12.0k
    return arg;
6027
12.0k
}
scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > scn::v4::detail::make_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, unsigned int>(unsigned int&)
Line
Count
Source
6020
9.68k
{
6021
9.68k
    check_scan_arg_types<T>();
6022
6023
9.68k
    basic_scan_arg<Context> arg;
6024
9.68k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
6025
9.68k
    arg.m_value = make_value<Context>(value);
6026
9.68k
    return arg;
6027
9.68k
}
scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > scn::v4::detail::make_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, long long>(long long&)
Line
Count
Source
6020
12.2k
{
6021
12.2k
    check_scan_arg_types<T>();
6022
6023
12.2k
    basic_scan_arg<Context> arg;
6024
12.2k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
6025
12.2k
    arg.m_value = make_value<Context>(value);
6026
12.2k
    return arg;
6027
12.2k
}
scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > scn::v4::detail::make_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, unsigned long long>(unsigned long long&)
Line
Count
Source
6020
9.81k
{
6021
9.81k
    check_scan_arg_types<T>();
6022
6023
9.81k
    basic_scan_arg<Context> arg;
6024
9.81k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
6025
9.81k
    arg.m_value = make_value<Context>(value);
6026
9.81k
    return arg;
6027
9.81k
}
scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > scn::v4::detail::make_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, signed char>(signed char&)
Line
Count
Source
6020
2.82k
{
6021
2.82k
    check_scan_arg_types<T>();
6022
6023
2.82k
    basic_scan_arg<Context> arg;
6024
2.82k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
6025
2.82k
    arg.m_value = make_value<Context>(value);
6026
2.82k
    return arg;
6027
2.82k
}
scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > scn::v4::detail::make_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, unsigned char>(unsigned char&)
Line
Count
Source
6020
2.80k
{
6021
2.80k
    check_scan_arg_types<T>();
6022
6023
2.80k
    basic_scan_arg<Context> arg;
6024
2.80k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
6025
2.80k
    arg.m_value = make_value<Context>(value);
6026
2.80k
    return arg;
6027
2.80k
}
scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > scn::v4::detail::make_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, int>(int&)
Line
Count
Source
6020
2.83k
{
6021
2.83k
    check_scan_arg_types<T>();
6022
6023
2.83k
    basic_scan_arg<Context> arg;
6024
2.83k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
6025
2.83k
    arg.m_value = make_value<Context>(value);
6026
2.83k
    return arg;
6027
2.83k
}
scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > scn::v4::detail::make_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, unsigned int>(unsigned int&)
Line
Count
Source
6020
2.81k
{
6021
2.81k
    check_scan_arg_types<T>();
6022
6023
2.81k
    basic_scan_arg<Context> arg;
6024
2.81k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
6025
2.81k
    arg.m_value = make_value<Context>(value);
6026
2.81k
    return arg;
6027
2.81k
}
scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > scn::v4::detail::make_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, long long>(long long&)
Line
Count
Source
6020
2.85k
{
6021
2.85k
    check_scan_arg_types<T>();
6022
6023
2.85k
    basic_scan_arg<Context> arg;
6024
2.85k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
6025
2.85k
    arg.m_value = make_value<Context>(value);
6026
2.85k
    return arg;
6027
2.85k
}
scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > scn::v4::detail::make_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, unsigned long long>(unsigned long long&)
Line
Count
Source
6020
2.83k
{
6021
2.83k
    check_scan_arg_types<T>();
6022
6023
2.83k
    basic_scan_arg<Context> arg;
6024
2.83k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
6025
2.83k
    arg.m_value = make_value<Context>(value);
6026
2.83k
    return arg;
6027
2.83k
}
6028
6029
template <scan_arg_store_kind Kind,
6030
          typename Context,
6031
          arg_type,
6032
          typename T,
6033
          typename = std::enable_if_t<Kind == scan_arg_store_kind::builtin>>
6034
constexpr void* make_arg(T& value) noexcept
6035
1.17M
{
6036
1.17M
    return make_value<Context>(value).ref_value;
6037
1.17M
}
void* scn::v4::detail::make_arg<(scn::v4::detail::scan_arg_store_kind)0, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, (scn::v4::detail::arg_type)1, signed char, void>(signed char&)
Line
Count
Source
6035
135k
{
6036
135k
    return make_value<Context>(value).ref_value;
6037
135k
}
void* scn::v4::detail::make_arg<(scn::v4::detail::scan_arg_store_kind)0, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, (scn::v4::detail::arg_type)7, unsigned char, void>(unsigned char&)
Line
Count
Source
6035
119k
{
6036
119k
    return make_value<Context>(value).ref_value;
6037
119k
}
void* scn::v4::detail::make_arg<(scn::v4::detail::scan_arg_store_kind)0, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, (scn::v4::detail::arg_type)3, int, void>(int&)
Line
Count
Source
6035
158k
{
6036
158k
    return make_value<Context>(value).ref_value;
6037
158k
}
void* scn::v4::detail::make_arg<(scn::v4::detail::scan_arg_store_kind)0, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, (scn::v4::detail::arg_type)9, unsigned int, void>(unsigned int&)
Line
Count
Source
6035
129k
{
6036
129k
    return make_value<Context>(value).ref_value;
6037
129k
}
void* scn::v4::detail::make_arg<(scn::v4::detail::scan_arg_store_kind)0, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, (scn::v4::detail::arg_type)5, long long, void>(long long&)
Line
Count
Source
6035
161k
{
6036
161k
    return make_value<Context>(value).ref_value;
6037
161k
}
void* scn::v4::detail::make_arg<(scn::v4::detail::scan_arg_store_kind)0, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, (scn::v4::detail::arg_type)11, unsigned long long, void>(unsigned long long&)
Line
Count
Source
6035
131k
{
6036
131k
    return make_value<Context>(value).ref_value;
6037
131k
}
void* scn::v4::detail::make_arg<(scn::v4::detail::scan_arg_store_kind)0, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, (scn::v4::detail::arg_type)1, signed char, void>(signed char&)
Line
Count
Source
6035
55.9k
{
6036
55.9k
    return make_value<Context>(value).ref_value;
6037
55.9k
}
void* scn::v4::detail::make_arg<(scn::v4::detail::scan_arg_store_kind)0, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, (scn::v4::detail::arg_type)7, unsigned char, void>(unsigned char&)
Line
Count
Source
6035
55.7k
{
6036
55.7k
    return make_value<Context>(value).ref_value;
6037
55.7k
}
void* scn::v4::detail::make_arg<(scn::v4::detail::scan_arg_store_kind)0, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, (scn::v4::detail::arg_type)3, int, void>(int&)
Line
Count
Source
6035
56.0k
{
6036
56.0k
    return make_value<Context>(value).ref_value;
6037
56.0k
}
void* scn::v4::detail::make_arg<(scn::v4::detail::scan_arg_store_kind)0, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, (scn::v4::detail::arg_type)9, unsigned int, void>(unsigned int&)
Line
Count
Source
6035
55.8k
{
6036
55.8k
    return make_value<Context>(value).ref_value;
6037
55.8k
}
void* scn::v4::detail::make_arg<(scn::v4::detail::scan_arg_store_kind)0, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, (scn::v4::detail::arg_type)5, long long, void>(long long&)
Line
Count
Source
6035
56.2k
{
6036
56.2k
    return make_value<Context>(value).ref_value;
6037
56.2k
}
void* scn::v4::detail::make_arg<(scn::v4::detail::scan_arg_store_kind)0, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, (scn::v4::detail::arg_type)11, unsigned long long, void>(unsigned long long&)
Line
Count
Source
6035
56.0k
{
6036
56.0k
    return make_value<Context>(value).ref_value;
6037
56.0k
}
Unexecuted instantiation: void* scn::v4::detail::make_arg<(scn::v4::detail::scan_arg_store_kind)0, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, (scn::v4::detail::arg_type)27, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, void>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Unexecuted instantiation: void* scn::v4::detail::make_arg<(scn::v4::detail::scan_arg_store_kind)0, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, (scn::v4::detail::arg_type)19, double, void>(double&)
Unexecuted instantiation: void* scn::v4::detail::make_arg<(scn::v4::detail::scan_arg_store_kind)0, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, (scn::v4::detail::arg_type)27, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, void>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
6038
template <scan_arg_store_kind Kind,
6039
          typename Context,
6040
          arg_type,
6041
          typename T,
6042
          typename = std::enable_if_t<Kind == scan_arg_store_kind::packed>>
6043
constexpr arg_value make_arg(T& value) noexcept
6044
{
6045
    return make_value<Context>(value);
6046
}
6047
template <scan_arg_store_kind Kind,
6048
          typename Context,
6049
          arg_type,
6050
          typename T,
6051
          typename = std::enable_if_t<Kind == scan_arg_store_kind::unpacked>>
6052
constexpr basic_scan_arg<Context> make_arg(T&& value) noexcept
6053
{
6054
    return make_arg<Context>(SCN_FWD(value));
6055
}
6056
6057
template <typename Context>
6058
constexpr arg_value& get_arg_value(basic_scan_arg<Context>& arg) noexcept;
6059
template <typename Context>
6060
constexpr arg_value get_arg_value(const basic_scan_arg<Context>& arg) noexcept;
6061
6062
template <typename Context>
6063
constexpr arg_type& get_arg_type(basic_scan_arg<Context>& arg) noexcept;
6064
template <typename Context>
6065
constexpr arg_type get_arg_type(const basic_scan_arg<Context>& arg) noexcept;
6066
6067
template <typename Visitor, typename Context>
6068
constexpr decltype(auto) visit_impl(Visitor&& vis,
6069
                                    basic_scan_arg<Context>& arg);
6070
}  // namespace detail
6071
6072
/**
6073
 * Type-erased scanning argument.
6074
 *
6075
 * Contains a pointer to the value contained in a `scan_arg_store`.
6076
 */
6077
template <typename Context>
6078
class basic_scan_arg {
6079
public:
6080
    /**
6081
     * Enables scanning of a user-defined type.
6082
     *
6083
     * Contains a pointer to the value contained in a `scan_arg_store`, and
6084
     * a callback for parsing the format string, and scanning the value.
6085
     *
6086
     * \see scn::visit_scan_arg
6087
     */
6088
    class handle {
6089
    public:
6090
        /**
6091
         * Parse the format string in `parse_ctx`, and scan the value from
6092
         * `ctx`.
6093
         *
6094
         * \return Any error returned by the scanner
6095
         */
6096
        scan_expected<void> scan(
6097
            typename Context::parse_context_type& parse_ctx,
6098
            Context& ctx) const
6099
0
        {
6100
0
            return m_custom.scan(m_custom.value, &parse_ctx, &ctx);
6101
0
        }
Unexecuted instantiation: scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::handle::scan(scn::v4::basic_scan_parse_context<char>&, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>&) const
Unexecuted instantiation: scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::handle::scan(scn::v4::basic_scan_parse_context<wchar_t>&, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>&) const
6102
6103
    private:
6104
        explicit handle(detail::custom_value_type custom) noexcept
6105
0
            : m_custom(custom)
6106
0
        {
6107
0
        }
Unexecuted instantiation: scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::handle::handle(scn::v4::detail::custom_value_type)
Unexecuted instantiation: scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::handle::handle(scn::v4::detail::custom_value_type)
6108
6109
        template <typename Visitor, typename C>
6110
        friend constexpr decltype(auto) detail::visit_impl(
6111
            Visitor&& vis,
6112
            basic_scan_arg<C>& arg);
6113
6114
        detail::custom_value_type m_custom;
6115
    };
6116
6117
    /// Construct a `basic_scan_arg` which doesn't contain an argument.
6118
1.25M
    constexpr basic_scan_arg() = default;
scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::basic_scan_arg()
Line
Count
Source
6118
899k
    constexpr basic_scan_arg() = default;
scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::basic_scan_arg()
Line
Count
Source
6118
352k
    constexpr basic_scan_arg() = default;
6119
6120
    /**
6121
     * @return `true` if `*this` contains an argument
6122
     */
6123
    constexpr explicit operator bool() const noexcept
6124
2.11M
    {
6125
2.11M
        return m_type != detail::arg_type::none_type;
6126
2.11M
    }
scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator bool() const
Line
Count
Source
6124
1.56M
    {
6125
1.56M
        return m_type != detail::arg_type::none_type;
6126
1.56M
    }
scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator bool() const
Line
Count
Source
6124
555k
    {
6125
555k
        return m_type != detail::arg_type::none_type;
6126
555k
    }
6127
6128
    /**
6129
     * Visit a `basic_scan_arg` with `Visitor`.
6130
     * Calls `vis` with the value stored in `*this`.
6131
     * If no value is contained in `*this`, calls `vis` with a `monostate`.
6132
     *
6133
     * \return `vis(x)`, where `x` is either a reference to the value contained
6134
     * in `*this`, or a `basic_scan_arg::handle`.
6135
     */
6136
    template <typename Visitor>
6137
    constexpr decltype(auto) visit(Visitor&& vis);
6138
6139
    template <typename R, typename Visitor>
6140
    constexpr R visit(Visitor&& vis);
6141
6142
private:
6143
    template <typename ContextType, typename T>
6144
    friend constexpr basic_scan_arg<ContextType> detail::make_arg(
6145
        T& value) noexcept;
6146
6147
    template <typename C>
6148
    friend constexpr detail::arg_type& detail::get_arg_type(
6149
        basic_scan_arg<C>& arg) noexcept;
6150
    template <typename C>
6151
    friend constexpr detail::arg_type detail::get_arg_type(
6152
        const basic_scan_arg<C>& arg) noexcept;
6153
6154
    template <typename C>
6155
    friend constexpr detail::arg_value& detail::get_arg_value(
6156
        basic_scan_arg<C>& arg) noexcept;
6157
    template <typename C>
6158
    friend constexpr detail::arg_value detail::get_arg_value(
6159
        const basic_scan_arg<C>& arg) noexcept;
6160
6161
    friend class basic_scan_args<Context>;
6162
6163
    detail::arg_value m_value{};
6164
    detail::arg_type m_type{detail::arg_type::none_type};
6165
};
6166
6167
namespace detail {
6168
template <typename Context>
6169
constexpr arg_type& get_arg_type(basic_scan_arg<Context>& arg) noexcept
6170
3.12M
{
6171
3.12M
    return arg.m_type;
6172
3.12M
}
scn::v4::detail::arg_type& scn::v4::detail::get_arg_type<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >(scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >&)
Line
Count
Source
6170
2.27M
{
6171
2.27M
    return arg.m_type;
6172
2.27M
}
scn::v4::detail::arg_type& scn::v4::detail::get_arg_type<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >(scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >&)
Line
Count
Source
6170
857k
{
6171
857k
    return arg.m_type;
6172
857k
}
6173
6174
template <typename Context>
6175
constexpr arg_type get_arg_type(const basic_scan_arg<Context>& arg) noexcept
6176
{
6177
    return arg.m_type;
6178
}
6179
6180
template <typename Context>
6181
constexpr arg_value& get_arg_value(basic_scan_arg<Context>& arg) noexcept
6182
1.10M
{
6183
1.10M
    return arg.m_value;
6184
1.10M
}
scn::v4::detail::arg_value& scn::v4::detail::get_arg_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >(scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >&)
Line
Count
Source
6182
850k
{
6183
850k
    return arg.m_value;
6184
850k
}
scn::v4::detail::arg_value& scn::v4::detail::get_arg_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >(scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >&)
Line
Count
Source
6182
253k
{
6183
253k
    return arg.m_value;
6184
253k
}
6185
6186
template <typename Context>
6187
constexpr arg_value get_arg_value(const basic_scan_arg<Context>& arg) noexcept
6188
{
6189
    return arg.m_value;
6190
}
6191
6192
template <typename CharT>
6193
constexpr bool all_types_builtin() noexcept
6194
0
{
6195
0
    return true;
6196
0
}
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<char>()
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<wchar_t>()
6197
template <typename CharT, typename T, typename... Args>
6198
constexpr bool all_types_builtin() noexcept
6199
0
{
6200
0
    return mapped_type_constant<T, CharT>::value != arg_type::custom_type &&
6201
0
           all_types_builtin<CharT, Args...>();
6202
0
}
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<char, signed char>()
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<char, unsigned char>()
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<char, int>()
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<char, unsigned int>()
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<char, long long>()
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<char, unsigned long long>()
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<wchar_t, signed char>()
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<wchar_t, unsigned char>()
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<wchar_t, int>()
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<wchar_t, unsigned int>()
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<wchar_t, long long>()
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<wchar_t, unsigned long long>()
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<char, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >>()
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<char, double>()
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<wchar_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >>()
6203
6204
template <typename CharT, typename... Args>
6205
constexpr scan_arg_store_kind determine_arg_store_kind() noexcept
6206
0
{
6207
0
    if constexpr (sizeof...(Args) > max_packed_args) {
6208
0
        return scan_arg_store_kind::unpacked;
6209
0
    }
6210
0
#if !(SCN_CLANG && SCN_APPLE)
6211
0
    // This doesn't work on Apple Clang. I don't know why
6212
0
    if constexpr (all_types_builtin<CharT, Args...>()) {
6213
0
        return scan_arg_store_kind::builtin;
6214
0
    }
6215
0
#endif
6216
0
    return scan_arg_store_kind::packed;
6217
0
}
Unexecuted instantiation: scn::v4::detail::scan_arg_store_kind scn::v4::detail::determine_arg_store_kind<char, signed char>()
Unexecuted instantiation: scn::v4::detail::scan_arg_store_kind scn::v4::detail::determine_arg_store_kind<char, unsigned char>()
Unexecuted instantiation: scn::v4::detail::scan_arg_store_kind scn::v4::detail::determine_arg_store_kind<char, int>()
Unexecuted instantiation: scn::v4::detail::scan_arg_store_kind scn::v4::detail::determine_arg_store_kind<char, unsigned int>()
Unexecuted instantiation: scn::v4::detail::scan_arg_store_kind scn::v4::detail::determine_arg_store_kind<char, long long>()
Unexecuted instantiation: scn::v4::detail::scan_arg_store_kind scn::v4::detail::determine_arg_store_kind<char, unsigned long long>()
Unexecuted instantiation: scn::v4::detail::scan_arg_store_kind scn::v4::detail::determine_arg_store_kind<wchar_t, signed char>()
Unexecuted instantiation: scn::v4::detail::scan_arg_store_kind scn::v4::detail::determine_arg_store_kind<wchar_t, unsigned char>()
Unexecuted instantiation: scn::v4::detail::scan_arg_store_kind scn::v4::detail::determine_arg_store_kind<wchar_t, int>()
Unexecuted instantiation: scn::v4::detail::scan_arg_store_kind scn::v4::detail::determine_arg_store_kind<wchar_t, unsigned int>()
Unexecuted instantiation: scn::v4::detail::scan_arg_store_kind scn::v4::detail::determine_arg_store_kind<wchar_t, long long>()
Unexecuted instantiation: scn::v4::detail::scan_arg_store_kind scn::v4::detail::determine_arg_store_kind<wchar_t, unsigned long long>()
Unexecuted instantiation: scn::v4::detail::scan_arg_store_kind scn::v4::detail::determine_arg_store_kind<char, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
Unexecuted instantiation: scn::v4::detail::scan_arg_store_kind scn::v4::detail::determine_arg_store_kind<char, double>()
Unexecuted instantiation: scn::v4::detail::scan_arg_store_kind scn::v4::detail::determine_arg_store_kind<wchar_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
6218
6219
template <scan_arg_store_kind Kind, typename CharT, typename... Args>
6220
constexpr size_t compute_arg_store_desc() noexcept
6221
0
{
6222
0
    if constexpr (Kind == scan_arg_store_kind::builtin) {
6223
0
        return encode_types<CharT, Args...>();
6224
0
    }
6225
0
    else if constexpr (Kind == scan_arg_store_kind::packed) {
6226
0
        return encode_types<CharT, Args...>() | has_custom_types_bit;
6227
0
    }
6228
0
    else {
6229
0
        return sizeof...(Args) | is_unpacked_bit;
6230
0
    }
6231
0
}
Unexecuted instantiation: unsigned long scn::v4::detail::compute_arg_store_desc<(scn::v4::detail::scan_arg_store_kind)0, char, signed char>()
Unexecuted instantiation: unsigned long scn::v4::detail::compute_arg_store_desc<(scn::v4::detail::scan_arg_store_kind)0, char, unsigned char>()
Unexecuted instantiation: unsigned long scn::v4::detail::compute_arg_store_desc<(scn::v4::detail::scan_arg_store_kind)0, char, int>()
Unexecuted instantiation: unsigned long scn::v4::detail::compute_arg_store_desc<(scn::v4::detail::scan_arg_store_kind)0, char, unsigned int>()
Unexecuted instantiation: unsigned long scn::v4::detail::compute_arg_store_desc<(scn::v4::detail::scan_arg_store_kind)0, char, long long>()
Unexecuted instantiation: unsigned long scn::v4::detail::compute_arg_store_desc<(scn::v4::detail::scan_arg_store_kind)0, char, unsigned long long>()
Unexecuted instantiation: unsigned long scn::v4::detail::compute_arg_store_desc<(scn::v4::detail::scan_arg_store_kind)0, wchar_t, signed char>()
Unexecuted instantiation: unsigned long scn::v4::detail::compute_arg_store_desc<(scn::v4::detail::scan_arg_store_kind)0, wchar_t, unsigned char>()
Unexecuted instantiation: unsigned long scn::v4::detail::compute_arg_store_desc<(scn::v4::detail::scan_arg_store_kind)0, wchar_t, int>()
Unexecuted instantiation: unsigned long scn::v4::detail::compute_arg_store_desc<(scn::v4::detail::scan_arg_store_kind)0, wchar_t, unsigned int>()
Unexecuted instantiation: unsigned long scn::v4::detail::compute_arg_store_desc<(scn::v4::detail::scan_arg_store_kind)0, wchar_t, long long>()
Unexecuted instantiation: unsigned long scn::v4::detail::compute_arg_store_desc<(scn::v4::detail::scan_arg_store_kind)0, wchar_t, unsigned long long>()
Unexecuted instantiation: unsigned long scn::v4::detail::compute_arg_store_desc<(scn::v4::detail::scan_arg_store_kind)0, char, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
Unexecuted instantiation: unsigned long scn::v4::detail::compute_arg_store_desc<(scn::v4::detail::scan_arg_store_kind)0, char, double>()
Unexecuted instantiation: unsigned long scn::v4::detail::compute_arg_store_desc<(scn::v4::detail::scan_arg_store_kind)0, wchar_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
6232
6233
template <typename Context, typename... Args>
6234
class scan_arg_store {
6235
public:
6236
    static constexpr scan_arg_store_kind kind =
6237
        determine_arg_store_kind<typename Context::char_type, Args...>();
6238
    static constexpr size_t desc =
6239
        compute_arg_store_desc<kind, typename Context::char_type, Args...>();
6240
6241
    using argptr_type = std::conditional_t<
6242
        kind == scan_arg_store_kind::builtin,
6243
        void*,
6244
        std::conditional_t<kind == scan_arg_store_kind::packed,
6245
                           arg_value,
6246
                           basic_scan_arg<Context>>>;
6247
    using argptrs_type = std::array<argptr_type, sizeof...(Args)>;
6248
6249
    constexpr explicit scan_arg_store(std::tuple<Args...>& a) noexcept
6250
1.17M
        : args(std::apply(make_argptrs<Args...>, a))
6251
1.17M
    {
6252
1.17M
    }
scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, signed char>::scan_arg_store(std::__1::tuple<signed char>&)
Line
Count
Source
6250
135k
        : args(std::apply(make_argptrs<Args...>, a))
6251
135k
    {
6252
135k
    }
scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, unsigned char>::scan_arg_store(std::__1::tuple<unsigned char>&)
Line
Count
Source
6250
119k
        : args(std::apply(make_argptrs<Args...>, a))
6251
119k
    {
6252
119k
    }
scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, int>::scan_arg_store(std::__1::tuple<int>&)
Line
Count
Source
6250
158k
        : args(std::apply(make_argptrs<Args...>, a))
6251
158k
    {
6252
158k
    }
scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, unsigned int>::scan_arg_store(std::__1::tuple<unsigned int>&)
Line
Count
Source
6250
129k
        : args(std::apply(make_argptrs<Args...>, a))
6251
129k
    {
6252
129k
    }
scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, long long>::scan_arg_store(std::__1::tuple<long long>&)
Line
Count
Source
6250
161k
        : args(std::apply(make_argptrs<Args...>, a))
6251
161k
    {
6252
161k
    }
scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, unsigned long long>::scan_arg_store(std::__1::tuple<unsigned long long>&)
Line
Count
Source
6250
131k
        : args(std::apply(make_argptrs<Args...>, a))
6251
131k
    {
6252
131k
    }
scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, signed char>::scan_arg_store(std::__1::tuple<signed char>&)
Line
Count
Source
6250
55.9k
        : args(std::apply(make_argptrs<Args...>, a))
6251
55.9k
    {
6252
55.9k
    }
scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, unsigned char>::scan_arg_store(std::__1::tuple<unsigned char>&)
Line
Count
Source
6250
55.7k
        : args(std::apply(make_argptrs<Args...>, a))
6251
55.7k
    {
6252
55.7k
    }
scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, int>::scan_arg_store(std::__1::tuple<int>&)
Line
Count
Source
6250
56.0k
        : args(std::apply(make_argptrs<Args...>, a))
6251
56.0k
    {
6252
56.0k
    }
scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, unsigned int>::scan_arg_store(std::__1::tuple<unsigned int>&)
Line
Count
Source
6250
55.8k
        : args(std::apply(make_argptrs<Args...>, a))
6251
55.8k
    {
6252
55.8k
    }
scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, long long>::scan_arg_store(std::__1::tuple<long long>&)
Line
Count
Source
6250
56.2k
        : args(std::apply(make_argptrs<Args...>, a))
6251
56.2k
    {
6252
56.2k
    }
scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, unsigned long long>::scan_arg_store(std::__1::tuple<unsigned long long>&)
Line
Count
Source
6250
56.0k
        : args(std::apply(make_argptrs<Args...>, a))
6251
56.0k
    {
6252
56.0k
    }
Unexecuted instantiation: scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_arg_store(std::__1::tuple<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&)
Unexecuted instantiation: scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, double>::scan_arg_store(std::__1::tuple<double>&)
Unexecuted instantiation: scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_arg_store(std::__1::tuple<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&)
6253
6254
    argptrs_type args;
6255
6256
private:
6257
    template <typename... A>
6258
    static constexpr argptrs_type make_argptrs(A&... args) noexcept
6259
1.17M
    {
6260
1.17M
        return {detail::make_arg<
6261
1.17M
            kind, Context,
6262
1.17M
            mapped_type_constant<remove_cvref_t<A>,
6263
1.17M
                                 typename Context::char_type>::value>(args)...};
6264
1.17M
    }
std::__1::array<void*, 1ul> scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, signed char>::make_argptrs<signed char>(signed char&)
Line
Count
Source
6259
135k
    {
6260
135k
        return {detail::make_arg<
6261
135k
            kind, Context,
6262
135k
            mapped_type_constant<remove_cvref_t<A>,
6263
135k
                                 typename Context::char_type>::value>(args)...};
6264
135k
    }
std::__1::array<void*, 1ul> scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, unsigned char>::make_argptrs<unsigned char>(unsigned char&)
Line
Count
Source
6259
119k
    {
6260
119k
        return {detail::make_arg<
6261
119k
            kind, Context,
6262
119k
            mapped_type_constant<remove_cvref_t<A>,
6263
119k
                                 typename Context::char_type>::value>(args)...};
6264
119k
    }
std::__1::array<void*, 1ul> scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, int>::make_argptrs<int>(int&)
Line
Count
Source
6259
158k
    {
6260
158k
        return {detail::make_arg<
6261
158k
            kind, Context,
6262
158k
            mapped_type_constant<remove_cvref_t<A>,
6263
158k
                                 typename Context::char_type>::value>(args)...};
6264
158k
    }
std::__1::array<void*, 1ul> scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, unsigned int>::make_argptrs<unsigned int>(unsigned int&)
Line
Count
Source
6259
129k
    {
6260
129k
        return {detail::make_arg<
6261
129k
            kind, Context,
6262
129k
            mapped_type_constant<remove_cvref_t<A>,
6263
129k
                                 typename Context::char_type>::value>(args)...};
6264
129k
    }
std::__1::array<void*, 1ul> scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, long long>::make_argptrs<long long>(long long&)
Line
Count
Source
6259
161k
    {
6260
161k
        return {detail::make_arg<
6261
161k
            kind, Context,
6262
161k
            mapped_type_constant<remove_cvref_t<A>,
6263
161k
                                 typename Context::char_type>::value>(args)...};
6264
161k
    }
std::__1::array<void*, 1ul> scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, unsigned long long>::make_argptrs<unsigned long long>(unsigned long long&)
Line
Count
Source
6259
131k
    {
6260
131k
        return {detail::make_arg<
6261
131k
            kind, Context,
6262
131k
            mapped_type_constant<remove_cvref_t<A>,
6263
131k
                                 typename Context::char_type>::value>(args)...};
6264
131k
    }
std::__1::array<void*, 1ul> scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, signed char>::make_argptrs<signed char>(signed char&)
Line
Count
Source
6259
55.9k
    {
6260
55.9k
        return {detail::make_arg<
6261
55.9k
            kind, Context,
6262
55.9k
            mapped_type_constant<remove_cvref_t<A>,
6263
55.9k
                                 typename Context::char_type>::value>(args)...};
6264
55.9k
    }
std::__1::array<void*, 1ul> scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, unsigned char>::make_argptrs<unsigned char>(unsigned char&)
Line
Count
Source
6259
55.7k
    {
6260
55.7k
        return {detail::make_arg<
6261
55.7k
            kind, Context,
6262
55.7k
            mapped_type_constant<remove_cvref_t<A>,
6263
55.7k
                                 typename Context::char_type>::value>(args)...};
6264
55.7k
    }
std::__1::array<void*, 1ul> scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, int>::make_argptrs<int>(int&)
Line
Count
Source
6259
56.0k
    {
6260
56.0k
        return {detail::make_arg<
6261
56.0k
            kind, Context,
6262
56.0k
            mapped_type_constant<remove_cvref_t<A>,
6263
56.0k
                                 typename Context::char_type>::value>(args)...};
6264
56.0k
    }
std::__1::array<void*, 1ul> scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, unsigned int>::make_argptrs<unsigned int>(unsigned int&)
Line
Count
Source
6259
55.8k
    {
6260
55.8k
        return {detail::make_arg<
6261
55.8k
            kind, Context,
6262
55.8k
            mapped_type_constant<remove_cvref_t<A>,
6263
55.8k
                                 typename Context::char_type>::value>(args)...};
6264
55.8k
    }
std::__1::array<void*, 1ul> scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, long long>::make_argptrs<long long>(long long&)
Line
Count
Source
6259
56.2k
    {
6260
56.2k
        return {detail::make_arg<
6261
56.2k
            kind, Context,
6262
56.2k
            mapped_type_constant<remove_cvref_t<A>,
6263
56.2k
                                 typename Context::char_type>::value>(args)...};
6264
56.2k
    }
std::__1::array<void*, 1ul> scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, unsigned long long>::make_argptrs<unsigned long long>(unsigned long long&)
Line
Count
Source
6259
56.0k
    {
6260
56.0k
        return {detail::make_arg<
6261
56.0k
            kind, Context,
6262
56.0k
            mapped_type_constant<remove_cvref_t<A>,
6263
56.0k
                                 typename Context::char_type>::value>(args)...};
6264
56.0k
    }
Unexecuted instantiation: std::__1::array<void*, 1ul> scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::make_argptrs<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Unexecuted instantiation: std::__1::array<void*, 1ul> scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, double>::make_argptrs<double>(double&)
Unexecuted instantiation: std::__1::array<void*, 1ul> scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::make_argptrs<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
6265
};
6266
6267
}  // namespace detail
6268
6269
/**
6270
 * Creates a type-erased argument store over the arguments in `values`.
6271
 */
6272
template <typename Context = scan_context, typename... Args>
6273
constexpr auto make_scan_args(std::tuple<Args...>& values)
6274
1.17M
{
6275
1.17M
    detail::check_scan_arg_types<Args...>();
6276
1.17M
    return detail::scan_arg_store<Context, Args...>(values);
6277
1.17M
}
auto scn::v4::make_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, signed char>(std::__1::tuple<signed char>&)
Line
Count
Source
6274
135k
{
6275
135k
    detail::check_scan_arg_types<Args...>();
6276
135k
    return detail::scan_arg_store<Context, Args...>(values);
6277
135k
}
auto scn::v4::make_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, unsigned char>(std::__1::tuple<unsigned char>&)
Line
Count
Source
6274
119k
{
6275
119k
    detail::check_scan_arg_types<Args...>();
6276
119k
    return detail::scan_arg_store<Context, Args...>(values);
6277
119k
}
auto scn::v4::make_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, int>(std::__1::tuple<int>&)
Line
Count
Source
6274
158k
{
6275
158k
    detail::check_scan_arg_types<Args...>();
6276
158k
    return detail::scan_arg_store<Context, Args...>(values);
6277
158k
}
auto scn::v4::make_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, unsigned int>(std::__1::tuple<unsigned int>&)
Line
Count
Source
6274
129k
{
6275
129k
    detail::check_scan_arg_types<Args...>();
6276
129k
    return detail::scan_arg_store<Context, Args...>(values);
6277
129k
}
auto scn::v4::make_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, long long>(std::__1::tuple<long long>&)
Line
Count
Source
6274
161k
{
6275
161k
    detail::check_scan_arg_types<Args...>();
6276
161k
    return detail::scan_arg_store<Context, Args...>(values);
6277
161k
}
auto scn::v4::make_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, unsigned long long>(std::__1::tuple<unsigned long long>&)
Line
Count
Source
6274
131k
{
6275
131k
    detail::check_scan_arg_types<Args...>();
6276
131k
    return detail::scan_arg_store<Context, Args...>(values);
6277
131k
}
auto scn::v4::make_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, signed char>(std::__1::tuple<signed char>&)
Line
Count
Source
6274
55.9k
{
6275
55.9k
    detail::check_scan_arg_types<Args...>();
6276
55.9k
    return detail::scan_arg_store<Context, Args...>(values);
6277
55.9k
}
auto scn::v4::make_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, unsigned char>(std::__1::tuple<unsigned char>&)
Line
Count
Source
6274
55.7k
{
6275
55.7k
    detail::check_scan_arg_types<Args...>();
6276
55.7k
    return detail::scan_arg_store<Context, Args...>(values);
6277
55.7k
}
auto scn::v4::make_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, int>(std::__1::tuple<int>&)
Line
Count
Source
6274
56.0k
{
6275
56.0k
    detail::check_scan_arg_types<Args...>();
6276
56.0k
    return detail::scan_arg_store<Context, Args...>(values);
6277
56.0k
}
auto scn::v4::make_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, unsigned int>(std::__1::tuple<unsigned int>&)
Line
Count
Source
6274
55.8k
{
6275
55.8k
    detail::check_scan_arg_types<Args...>();
6276
55.8k
    return detail::scan_arg_store<Context, Args...>(values);
6277
55.8k
}
auto scn::v4::make_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, long long>(std::__1::tuple<long long>&)
Line
Count
Source
6274
56.2k
{
6275
56.2k
    detail::check_scan_arg_types<Args...>();
6276
56.2k
    return detail::scan_arg_store<Context, Args...>(values);
6277
56.2k
}
auto scn::v4::make_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, unsigned long long>(std::__1::tuple<unsigned long long>&)
Line
Count
Source
6274
56.0k
{
6275
56.0k
    detail::check_scan_arg_types<Args...>();
6276
56.0k
    return detail::scan_arg_store<Context, Args...>(values);
6277
56.0k
}
Unexecuted instantiation: auto scn::v4::make_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::tuple<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&)
Unexecuted instantiation: auto scn::v4::make_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, double>(std::__1::tuple<double>&)
Unexecuted instantiation: auto scn::v4::make_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::tuple<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&)
6278
6279
template <typename... Args>
6280
constexpr auto make_wscan_args(std::tuple<Args...>& values)
6281
{
6282
    detail::check_scan_arg_types<Args...>();
6283
    return detail::scan_arg_store<wscan_context, Args...>(values);
6284
}
6285
6286
/**
6287
 * A view over a collection of scanning arguments (`scan_arg_store`).
6288
 *
6289
 * Passed to `scn::vscan`, where it's automatically constructed from a
6290
 * `scan_arg_store`.
6291
 */
6292
template <typename Context>
6293
class basic_scan_args {
6294
public:
6295
80.1k
    constexpr basic_scan_args() = default;
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::basic_scan_args()
Line
Count
Source
6295
63.1k
    constexpr basic_scan_args() = default;
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::basic_scan_args()
Line
Count
Source
6295
16.9k
    constexpr basic_scan_args() = default;
6296
6297
    template <typename... Args>
6298
    SCN_IMPLICIT constexpr basic_scan_args(
6299
        const detail::scan_arg_store<Context, Args...>& store) noexcept
6300
1.17M
        : basic_scan_args(store.desc, store.args.data())
6301
1.17M
    {
6302
1.17M
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::basic_scan_args<signed char>(scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, signed char> const&)
Line
Count
Source
6300
135k
        : basic_scan_args(store.desc, store.args.data())
6301
135k
    {
6302
135k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::basic_scan_args<unsigned char>(scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, unsigned char> const&)
Line
Count
Source
6300
119k
        : basic_scan_args(store.desc, store.args.data())
6301
119k
    {
6302
119k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::basic_scan_args<int>(scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, int> const&)
Line
Count
Source
6300
158k
        : basic_scan_args(store.desc, store.args.data())
6301
158k
    {
6302
158k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::basic_scan_args<unsigned int>(scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, unsigned int> const&)
Line
Count
Source
6300
129k
        : basic_scan_args(store.desc, store.args.data())
6301
129k
    {
6302
129k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::basic_scan_args<long long>(scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, long long> const&)
Line
Count
Source
6300
161k
        : basic_scan_args(store.desc, store.args.data())
6301
161k
    {
6302
161k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::basic_scan_args<unsigned long long>(scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, unsigned long long> const&)
Line
Count
Source
6300
131k
        : basic_scan_args(store.desc, store.args.data())
6301
131k
    {
6302
131k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::basic_scan_args<signed char>(scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, signed char> const&)
Line
Count
Source
6300
55.9k
        : basic_scan_args(store.desc, store.args.data())
6301
55.9k
    {
6302
55.9k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::basic_scan_args<unsigned char>(scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, unsigned char> const&)
Line
Count
Source
6300
55.7k
        : basic_scan_args(store.desc, store.args.data())
6301
55.7k
    {
6302
55.7k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::basic_scan_args<int>(scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, int> const&)
Line
Count
Source
6300
56.0k
        : basic_scan_args(store.desc, store.args.data())
6301
56.0k
    {
6302
56.0k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::basic_scan_args<unsigned int>(scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, unsigned int> const&)
Line
Count
Source
6300
55.8k
        : basic_scan_args(store.desc, store.args.data())
6301
55.8k
    {
6302
55.8k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::basic_scan_args<long long>(scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, long long> const&)
Line
Count
Source
6300
56.2k
        : basic_scan_args(store.desc, store.args.data())
6301
56.2k
    {
6302
56.2k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::basic_scan_args<unsigned long long>(scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, unsigned long long> const&)
Line
Count
Source
6300
56.0k
        : basic_scan_args(store.desc, store.args.data())
6301
56.0k
    {
6302
56.0k
    }
Unexecuted instantiation: scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::basic_scan_args<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > const&)
Unexecuted instantiation: scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::basic_scan_args<double>(scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, double> const&)
Unexecuted instantiation: scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::basic_scan_args<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > const&)
6303
6304
    /**
6305
     * \return `basic_scan_arg` at index `id`. Empty `basic_scan_arg` if
6306
     * there's no argument at index `id`.
6307
     */
6308
    SCN_NODISCARD constexpr basic_scan_arg<Context> get(std::size_t id) const
6309
1.17M
    {
6310
1.17M
        if (SCN_UNLIKELY(!is_packed())) {
6311
0
            if (SCN_LIKELY(id < max_size())) {
6312
0
                return m_args[id];
6313
0
            }
6314
0
            return {};
6315
0
        }
6316
6317
1.17M
        if (SCN_UNLIKELY(id >= detail::max_packed_args)) {
6318
0
            return {};
6319
0
        }
6320
6321
1.17M
        const auto t = type(id);
6322
1.17M
        if (SCN_UNLIKELY(t == detail::arg_type::none_type)) {
6323
0
            return {};
6324
0
        }
6325
6326
1.17M
        basic_scan_arg<Context> arg;
6327
1.17M
        arg.m_type = t;
6328
1.17M
        if (is_only_builtin()) {
6329
1.17M
            arg.m_value.ref_value = m_builtin_values[id];
6330
1.17M
        }
6331
0
        else {
6332
0
            arg.m_value = m_values[id];
6333
0
        }
6334
1.17M
        return arg;
6335
1.17M
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::get(unsigned long) const
Line
Count
Source
6309
836k
    {
6310
836k
        if (SCN_UNLIKELY(!is_packed())) {
6311
0
            if (SCN_LIKELY(id < max_size())) {
6312
0
                return m_args[id];
6313
0
            }
6314
0
            return {};
6315
0
        }
6316
6317
836k
        if (SCN_UNLIKELY(id >= detail::max_packed_args)) {
6318
0
            return {};
6319
0
        }
6320
6321
836k
        const auto t = type(id);
6322
836k
        if (SCN_UNLIKELY(t == detail::arg_type::none_type)) {
6323
0
            return {};
6324
0
        }
6325
6326
836k
        basic_scan_arg<Context> arg;
6327
836k
        arg.m_type = t;
6328
836k
        if (is_only_builtin()) {
6329
836k
            arg.m_value.ref_value = m_builtin_values[id];
6330
836k
        }
6331
0
        else {
6332
0
            arg.m_value = m_values[id];
6333
0
        }
6334
836k
        return arg;
6335
836k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::get(unsigned long) const
Line
Count
Source
6309
335k
    {
6310
335k
        if (SCN_UNLIKELY(!is_packed())) {
6311
0
            if (SCN_LIKELY(id < max_size())) {
6312
0
                return m_args[id];
6313
0
            }
6314
0
            return {};
6315
0
        }
6316
6317
335k
        if (SCN_UNLIKELY(id >= detail::max_packed_args)) {
6318
0
            return {};
6319
0
        }
6320
6321
335k
        const auto t = type(id);
6322
335k
        if (SCN_UNLIKELY(t == detail::arg_type::none_type)) {
6323
0
            return {};
6324
0
        }
6325
6326
335k
        basic_scan_arg<Context> arg;
6327
335k
        arg.m_type = t;
6328
335k
        if (is_only_builtin()) {
6329
335k
            arg.m_value.ref_value = m_builtin_values[id];
6330
335k
        }
6331
0
        else {
6332
0
            arg.m_value = m_values[id];
6333
0
        }
6334
335k
        return arg;
6335
335k
    }
6336
6337
    /**
6338
     * \return Number of arguments in `*this`.
6339
     */
6340
    SCN_NODISCARD constexpr std::size_t size() const
6341
1.17M
    {
6342
1.17M
        if (SCN_UNLIKELY(!is_packed())) {
6343
0
            return max_size();
6344
0
        }
6345
6346
1.17M
        return static_cast<std::size_t>(m_desc &
6347
1.17M
                                        ((1 << detail::packed_arg_bits) - 1));
6348
1.17M
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::size() const
Line
Count
Source
6341
836k
    {
6342
836k
        if (SCN_UNLIKELY(!is_packed())) {
6343
0
            return max_size();
6344
0
        }
6345
6346
836k
        return static_cast<std::size_t>(m_desc &
6347
836k
                                        ((1 << detail::packed_arg_bits) - 1));
6348
836k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::size() const
Line
Count
Source
6341
335k
    {
6342
335k
        if (SCN_UNLIKELY(!is_packed())) {
6343
0
            return max_size();
6344
0
        }
6345
6346
335k
        return static_cast<std::size_t>(m_desc &
6347
335k
                                        ((1 << detail::packed_arg_bits) - 1));
6348
335k
    }
6349
6350
private:
6351
    constexpr explicit basic_scan_args(size_t desc, void* const* data)
6352
1.17M
        : m_desc(desc), m_builtin_values(data)
6353
1.17M
    {
6354
1.17M
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::basic_scan_args(unsigned long, void* const*)
Line
Count
Source
6352
836k
        : m_desc(desc), m_builtin_values(data)
6353
836k
    {
6354
836k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::basic_scan_args(unsigned long, void* const*)
Line
Count
Source
6352
335k
        : m_desc(desc), m_builtin_values(data)
6353
335k
    {
6354
335k
    }
6355
    constexpr explicit basic_scan_args(size_t desc,
6356
                                       const detail::arg_value* data)
6357
        : m_desc(desc), m_values(data)
6358
    {
6359
    }
6360
    constexpr explicit basic_scan_args(size_t desc,
6361
                                       const basic_scan_arg<Context>* data)
6362
        : m_desc(desc), m_args(data)
6363
    {
6364
    }
6365
6366
    SCN_NODISCARD constexpr bool is_packed() const
6367
2.34M
    {
6368
2.34M
        return (m_desc & detail::is_unpacked_bit) == 0;
6369
2.34M
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::is_packed() const
Line
Count
Source
6367
1.67M
    {
6368
1.67M
        return (m_desc & detail::is_unpacked_bit) == 0;
6369
1.67M
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::is_packed() const
Line
Count
Source
6367
671k
    {
6368
671k
        return (m_desc & detail::is_unpacked_bit) == 0;
6369
671k
    }
6370
    SCN_NODISCARD constexpr bool is_only_builtin() const
6371
1.17M
    {
6372
1.17M
        return (m_desc & detail::has_custom_types_bit) == 0;
6373
1.17M
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::is_only_builtin() const
Line
Count
Source
6371
836k
    {
6372
836k
        return (m_desc & detail::has_custom_types_bit) == 0;
6373
836k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::is_only_builtin() const
Line
Count
Source
6371
335k
    {
6372
335k
        return (m_desc & detail::has_custom_types_bit) == 0;
6373
335k
    }
6374
6375
    SCN_NODISCARD constexpr detail::arg_type type(std::size_t index) const
6376
1.17M
    {
6377
        // First (0th) index is size, types start after that
6378
1.17M
        const auto shift = (index + 1) * detail::packed_arg_bits;
6379
1.17M
        const std::size_t mask = (1 << detail::packed_arg_bits) - 1;
6380
1.17M
        return static_cast<detail::arg_type>((m_desc >> shift) & mask);
6381
1.17M
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::type(unsigned long) const
Line
Count
Source
6376
836k
    {
6377
        // First (0th) index is size, types start after that
6378
836k
        const auto shift = (index + 1) * detail::packed_arg_bits;
6379
836k
        const std::size_t mask = (1 << detail::packed_arg_bits) - 1;
6380
836k
        return static_cast<detail::arg_type>((m_desc >> shift) & mask);
6381
836k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::type(unsigned long) const
Line
Count
Source
6376
335k
    {
6377
        // First (0th) index is size, types start after that
6378
335k
        const auto shift = (index + 1) * detail::packed_arg_bits;
6379
335k
        const std::size_t mask = (1 << detail::packed_arg_bits) - 1;
6380
335k
        return static_cast<detail::arg_type>((m_desc >> shift) & mask);
6381
335k
    }
6382
6383
    SCN_NODISCARD constexpr std::size_t max_size() const
6384
0
    {
6385
0
        return SCN_LIKELY(is_packed()) ? detail::max_packed_args
6386
0
                                       : (m_desc & ~detail::is_unpacked_bit &
6387
0
                                          ~detail::has_custom_types_bit);
6388
0
    }
Unexecuted instantiation: scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::max_size() const
Unexecuted instantiation: scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::max_size() const
6389
6390
    size_t m_desc{0};
6391
    union {
6392
        void* const* m_builtin_values;
6393
        const detail::arg_value* m_values;
6394
        const basic_scan_arg<Context>* m_args{nullptr};
6395
    };
6396
};
6397
6398
template <typename Context, typename... Args>
6399
basic_scan_args(const detail::scan_arg_store<Context, Args...>&)
6400
    -> basic_scan_args<Context>;
6401
6402
/////////////////////////////////////////////////////////////////
6403
// scan_parse_context
6404
/////////////////////////////////////////////////////////////////
6405
6406
template <typename T>
6407
struct source_tag_type {
6408
    using type = T;
6409
};
6410
template <typename T>
6411
inline constexpr auto source_tag = source_tag_type<T>{};
6412
6413
/**
6414
 * Format string parsing context, wrapping the format string being parsed,
6415
 * and a counter for argument indexing.
6416
 *
6417
 * \ingroup ctx
6418
 */
6419
template <typename CharT>
6420
class basic_scan_parse_context {
6421
public:
6422
    using char_type = CharT;
6423
    using iterator = typename std::basic_string_view<CharT>::const_pointer;
6424
    using const_iterator = iterator;
6425
6426
    /**
6427
     * Construct a `basic_scan_parse_context` over a format string `format`.
6428
     */
6429
    [[deprecated(
6430
        "Use the source_tag constructor instead,"
6431
        "to get more compile-time checking")]]
6432
    explicit constexpr basic_scan_parse_context(
6433
        std::basic_string_view<CharT> format,
6434
        int next_arg_id = 0)
6435
        : m_format{format}, m_next_arg_id{next_arg_id}
6436
    {
6437
    }
6438
6439
    template <typename Source>
6440
    explicit constexpr basic_scan_parse_context(
6441
        source_tag_type<Source>,
6442
        std::basic_string_view<CharT> format,
6443
        int next_arg_id = 0)
6444
1.01M
        : m_format{format},
6445
1.01M
          m_next_arg_id{next_arg_id},
6446
1.01M
          m_is_contiguous(ranges::range<Source> &&
6447
1.01M
                          ranges::contiguous_range<Source>),
6448
          m_is_borrowed(
6449
1.01M
              (ranges::range<Source> && ranges::borrowed_range<Source>) ||
6450
1.01M
              std::is_same_v<detail::remove_cvref_t<Source>, std::FILE*>)
6451
1.01M
    {
6452
1.01M
    }
Unexecuted instantiation: scn::v4::basic_scan_parse_context<char>::basic_scan_parse_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v4::source_tag_type<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >, int)
Unexecuted instantiation: scn::v4::basic_scan_parse_context<char>::basic_scan_parse_context<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::source_tag_type<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >, int)
scn::v4::basic_scan_parse_context<char>::basic_scan_parse_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&&>(scn::v4::source_tag_type<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&&>, std::__1::basic_string_view<char, std::__1::char_traits<char> >, int)
Line
Count
Source
6444
354k
        : m_format{format},
6445
354k
          m_next_arg_id{next_arg_id},
6446
354k
          m_is_contiguous(ranges::range<Source> &&
6447
354k
                          ranges::contiguous_range<Source>),
6448
          m_is_borrowed(
6449
354k
              (ranges::range<Source> && ranges::borrowed_range<Source>) ||
6450
354k
              std::is_same_v<detail::remove_cvref_t<Source>, std::FILE*>)
6451
354k
    {
6452
354k
    }
scn::v4::basic_scan_parse_context<char>::basic_scan_parse_context<scn::v4::detail::basic_scan_buffer<char>&>(scn::v4::source_tag_type<scn::v4::detail::basic_scan_buffer<char>&>, std::__1::basic_string_view<char, std::__1::char_traits<char> >, int)
Line
Count
Source
6444
355k
        : m_format{format},
6445
355k
          m_next_arg_id{next_arg_id},
6446
355k
          m_is_contiguous(ranges::range<Source> &&
6447
355k
                          ranges::contiguous_range<Source>),
6448
          m_is_borrowed(
6449
355k
              (ranges::range<Source> && ranges::borrowed_range<Source>) ||
6450
355k
              std::is_same_v<detail::remove_cvref_t<Source>, std::FILE*>)
6451
355k
    {
6452
355k
    }
Unexecuted instantiation: scn::v4::basic_scan_parse_context<wchar_t>::basic_scan_parse_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v4::source_tag_type<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, int)
scn::v4::basic_scan_parse_context<wchar_t>::basic_scan_parse_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&&>(scn::v4::source_tag_type<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&&>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, int)
Line
Count
Source
6444
151k
        : m_format{format},
6445
151k
          m_next_arg_id{next_arg_id},
6446
151k
          m_is_contiguous(ranges::range<Source> &&
6447
151k
                          ranges::contiguous_range<Source>),
6448
          m_is_borrowed(
6449
151k
              (ranges::range<Source> && ranges::borrowed_range<Source>) ||
6450
151k
              std::is_same_v<detail::remove_cvref_t<Source>, std::FILE*>)
6451
151k
    {
6452
151k
    }
Unexecuted instantiation: scn::v4::basic_scan_parse_context<wchar_t>::basic_scan_parse_context<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::source_tag_type<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, int)
scn::v4::basic_scan_parse_context<wchar_t>::basic_scan_parse_context<scn::v4::detail::basic_scan_buffer<wchar_t>&>(scn::v4::source_tag_type<scn::v4::detail::basic_scan_buffer<wchar_t>&>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, int)
Line
Count
Source
6444
151k
        : m_format{format},
6445
151k
          m_next_arg_id{next_arg_id},
6446
151k
          m_is_contiguous(ranges::range<Source> &&
6447
151k
                          ranges::contiguous_range<Source>),
6448
          m_is_borrowed(
6449
151k
              (ranges::range<Source> && ranges::borrowed_range<Source>) ||
6450
151k
              std::is_same_v<detail::remove_cvref_t<Source>, std::FILE*>)
6451
151k
    {
6452
151k
    }
6453
6454
    basic_scan_parse_context(const basic_scan_parse_context&) = delete;
6455
    basic_scan_parse_context& operator=(const basic_scan_parse_context&) =
6456
        delete;
6457
    basic_scan_parse_context(basic_scan_parse_context&&) = delete;
6458
    basic_scan_parse_context& operator=(basic_scan_parse_context&&) = delete;
6459
    ~basic_scan_parse_context() = default;
6460
6461
    /// Returns an iterator pointing to the beginning of the format string
6462
    constexpr auto begin() const noexcept
6463
1.87M
    {
6464
1.87M
        return m_format.data();
6465
1.87M
    }
scn::v4::basic_scan_parse_context<char>::begin() const
Line
Count
Source
6463
1.37M
    {
6464
1.37M
        return m_format.data();
6465
1.37M
    }
scn::v4::basic_scan_parse_context<wchar_t>::begin() const
Line
Count
Source
6463
504k
    {
6464
504k
        return m_format.data();
6465
504k
    }
6466
    /// Returns an iterator pointing to the end of the format string
6467
    constexpr auto end() const noexcept
6468
    {
6469
        return m_format.data() + m_format.size();
6470
    }
6471
6472
    /// Advance the beginning of the format string to `it`
6473
    constexpr void advance_to(iterator it)
6474
863k
    {
6475
863k
        m_format.remove_prefix(static_cast<std::size_t>(it - begin()));
6476
863k
    }
scn::v4::basic_scan_parse_context<char>::advance_to(char const*)
Line
Count
Source
6474
660k
    {
6475
660k
        m_format.remove_prefix(static_cast<std::size_t>(it - begin()));
6476
660k
    }
scn::v4::basic_scan_parse_context<wchar_t>::advance_to(wchar_t const*)
Line
Count
Source
6474
202k
    {
6475
202k
        m_format.remove_prefix(static_cast<std::size_t>(it - begin()));
6476
202k
    }
6477
6478
    constexpr size_t next_arg_id()
6479
1.01M
    {
6480
1.01M
        if (SCN_UNLIKELY(m_next_arg_id < 0)) {
6481
0
            on_error(
6482
0
                "Cannot switch from manual to automatic argument indexing");
6483
0
            return 0;
6484
0
        }
6485
6486
1.01M
        auto id = static_cast<size_t>(m_next_arg_id++);
6487
1.01M
        do_check_arg_id(id);
6488
1.01M
        return id;
6489
1.01M
    }
scn::v4::basic_scan_parse_context<char>::next_arg_id()
Line
Count
Source
6479
710k
    {
6480
710k
        if (SCN_UNLIKELY(m_next_arg_id < 0)) {
6481
0
            on_error(
6482
0
                "Cannot switch from manual to automatic argument indexing");
6483
0
            return 0;
6484
0
        }
6485
6486
710k
        auto id = static_cast<size_t>(m_next_arg_id++);
6487
710k
        do_check_arg_id(id);
6488
710k
        return id;
6489
710k
    }
scn::v4::basic_scan_parse_context<wchar_t>::next_arg_id()
Line
Count
Source
6479
302k
    {
6480
302k
        if (SCN_UNLIKELY(m_next_arg_id < 0)) {
6481
0
            on_error(
6482
0
                "Cannot switch from manual to automatic argument indexing");
6483
0
            return 0;
6484
0
        }
6485
6486
302k
        auto id = static_cast<size_t>(m_next_arg_id++);
6487
302k
        do_check_arg_id(id);
6488
302k
        return id;
6489
302k
    }
6490
6491
    constexpr void check_arg_id(std::size_t id)
6492
0
    {
6493
0
        if (SCN_UNLIKELY(m_next_arg_id > 0)) {
6494
0
            on_error(
6495
0
                "Cannot switch from manual to automatic argument indexing");
6496
0
            return;
6497
0
        }
6498
0
        m_next_arg_id = -1;
6499
0
        do_check_arg_id(id);
6500
0
    }
Unexecuted instantiation: scn::v4::basic_scan_parse_context<char>::check_arg_id(unsigned long)
Unexecuted instantiation: scn::v4::basic_scan_parse_context<wchar_t>::check_arg_id(unsigned long)
6501
6502
    /**
6503
     * Fail format string parsing with the message `msg`.
6504
     * Calling this member function is not a constant expression,
6505
     * causing a compile-time error, if compile-time format string checking is
6506
     * enabled.
6507
     */
6508
    scan_error on_error(const char* msg)
6509
0
    {
6510
0
        m_error = unexpected(detail::handle_error(
6511
0
            scan_error{scan_error::invalid_format_string, msg}));
6512
0
        return m_error.error();
6513
0
    }
Unexecuted instantiation: scn::v4::basic_scan_parse_context<char>::on_error(char const*)
Unexecuted instantiation: scn::v4::basic_scan_parse_context<wchar_t>::on_error(char const*)
6514
6515
    scan_expected<void> get_error()
6516
    {
6517
        return m_error;
6518
    }
6519
6520
    [[nodiscard]] constexpr bool is_source_contiguous() const
6521
    {
6522
        return m_is_contiguous;
6523
    }
6524
6525
    [[nodiscard]] constexpr bool is_source_borrowed() const
6526
    {
6527
        return m_is_borrowed;
6528
    }
6529
6530
protected:
6531
    constexpr void do_check_arg_id(size_t id);
6532
6533
    std::basic_string_view<CharT> m_format;
6534
    scan_expected<void> m_error{};
6535
    int m_next_arg_id{0};
6536
    bool m_is_contiguous{false}, m_is_borrowed{false};
6537
};
6538
6539
/////////////////////////////////////////////////////////////////
6540
// Result types
6541
/////////////////////////////////////////////////////////////////
6542
6543
namespace detail {
6544
template <typename... Args>
6545
struct scan_result_value_storage {
6546
public:
6547
    using tuple_type = std::tuple<Args...>;
6548
6549
1.25M
    constexpr scan_result_value_storage() = default;
scn::v4::detail::scan_result_value_storage<signed char>::scan_result_value_storage()
Line
Count
Source
6549
205k
    constexpr scan_result_value_storage() = default;
scn::v4::detail::scan_result_value_storage<unsigned char>::scan_result_value_storage()
Line
Count
Source
6549
187k
    constexpr scan_result_value_storage() = default;
scn::v4::detail::scan_result_value_storage<int>::scan_result_value_storage()
Line
Count
Source
6549
229k
    constexpr scan_result_value_storage() = default;
scn::v4::detail::scan_result_value_storage<unsigned int>::scan_result_value_storage()
Line
Count
Source
6549
198k
    constexpr scan_result_value_storage() = default;
scn::v4::detail::scan_result_value_storage<long long>::scan_result_value_storage()
Line
Count
Source
6549
232k
    constexpr scan_result_value_storage() = default;
scn::v4::detail::scan_result_value_storage<unsigned long long>::scan_result_value_storage()
Line
Count
Source
6549
199k
    constexpr scan_result_value_storage() = default;
Unexecuted instantiation: scn::v4::detail::scan_result_value_storage<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_result_value_storage()
Unexecuted instantiation: scn::v4::detail::scan_result_value_storage<double>::scan_result_value_storage()
6550
6551
    constexpr scan_result_value_storage(tuple_type&& values)
6552
        : m_values(SCN_MOVE(values))
6553
    {
6554
    }
6555
6556
    /// Access the scanned values
6557
    tuple_type& values() &
6558
1.17M
    {
6559
1.17M
        return m_values;
6560
1.17M
    }
scn::v4::detail::scan_result_value_storage<signed char>::values() &
Line
Count
Source
6558
191k
    {
6559
191k
        return m_values;
6560
191k
    }
scn::v4::detail::scan_result_value_storage<unsigned char>::values() &
Line
Count
Source
6558
175k
    {
6559
175k
        return m_values;
6560
175k
    }
scn::v4::detail::scan_result_value_storage<int>::values() &
Line
Count
Source
6558
214k
    {
6559
214k
        return m_values;
6560
214k
    }
scn::v4::detail::scan_result_value_storage<unsigned int>::values() &
Line
Count
Source
6558
185k
    {
6559
185k
        return m_values;
6560
185k
    }
scn::v4::detail::scan_result_value_storage<long long>::values() &
Line
Count
Source
6558
217k
    {
6559
217k
        return m_values;
6560
217k
    }
scn::v4::detail::scan_result_value_storage<unsigned long long>::values() &
Line
Count
Source
6558
187k
    {
6559
187k
        return m_values;
6560
187k
    }
Unexecuted instantiation: scn::v4::detail::scan_result_value_storage<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::values() &
Unexecuted instantiation: scn::v4::detail::scan_result_value_storage<double>::values() &
6561
    /// Access the scanned values
6562
    const tuple_type& values() const&
6563
    {
6564
        return m_values;
6565
    }
6566
    /// Access the scanned values
6567
    tuple_type&& values() &&
6568
    {
6569
        return SCN_MOVE(m_values);
6570
    }
6571
    /// Access the scanned values
6572
    const tuple_type&& values() const&&
6573
    {
6574
        return SCN_MOVE(m_values);
6575
    }
6576
6577
    /// Access the single scanned value
6578
    template <size_t N = sizeof...(Args), std::enable_if_t<N == 1>* = nullptr>
6579
    decltype(auto) value() &
6580
80.1k
    {
6581
80.1k
        return std::get<0>(m_values);
6582
80.1k
    }
_ZNR3scn2v46detail25scan_result_value_storageIJaEE5valueILm1ETnPNSt3__19enable_ifIXeqT_Li1EEvE4typeELPv0EEEDcv
Line
Count
Source
6580
13.4k
    {
6581
13.4k
        return std::get<0>(m_values);
6582
13.4k
    }
_ZNR3scn2v46detail25scan_result_value_storageIJhEE5valueILm1ETnPNSt3__19enable_ifIXeqT_Li1EEvE4typeELPv0EEEDcv
Line
Count
Source
6580
11.6k
    {
6581
11.6k
        return std::get<0>(m_values);
6582
11.6k
    }
_ZNR3scn2v46detail25scan_result_value_storageIJiEE5valueILm1ETnPNSt3__19enable_ifIXeqT_Li1EEvE4typeELPv0EEEDcv
Line
Count
Source
6580
14.8k
    {
6581
14.8k
        return std::get<0>(m_values);
6582
14.8k
    }
_ZNR3scn2v46detail25scan_result_value_storageIJjEE5valueILm1ETnPNSt3__19enable_ifIXeqT_Li1EEvE4typeELPv0EEEDcv
Line
Count
Source
6580
12.5k
    {
6581
12.5k
        return std::get<0>(m_values);
6582
12.5k
    }
_ZNR3scn2v46detail25scan_result_value_storageIJxEE5valueILm1ETnPNSt3__19enable_ifIXeqT_Li1EEvE4typeELPv0EEEDcv
Line
Count
Source
6580
15.1k
    {
6581
15.1k
        return std::get<0>(m_values);
6582
15.1k
    }
_ZNR3scn2v46detail25scan_result_value_storageIJyEE5valueILm1ETnPNSt3__19enable_ifIXeqT_Li1EEvE4typeELPv0EEEDcv
Line
Count
Source
6580
12.6k
    {
6581
12.6k
        return std::get<0>(m_values);
6582
12.6k
    }
Unexecuted instantiation: _ZNR3scn2v46detail25scan_result_value_storageIJNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEEE5valueILm1ETnPNS3_9enable_ifIXeqT_Li1EEvE4typeELPv0EEEDcv
Unexecuted instantiation: _ZNR3scn2v46detail25scan_result_value_storageIJdEE5valueILm1ETnPNSt3__19enable_ifIXeqT_Li1EEvE4typeELPv0EEEDcv
6583
    /// Access the single scanned value
6584
    template <size_t N = sizeof...(Args), std::enable_if_t<N == 1>* = nullptr>
6585
    decltype(auto) value() const&
6586
    {
6587
        return std::get<0>(m_values);
6588
    }
6589
    /// Access the single scanned value
6590
    template <size_t N = sizeof...(Args), std::enable_if_t<N == 1>* = nullptr>
6591
    decltype(auto) value() &&
6592
    {
6593
        return SCN_MOVE(std::get<0>(m_values));
6594
    }
6595
    /// Access the single scanned value
6596
    template <size_t N = sizeof...(Args), std::enable_if_t<N == 1>* = nullptr>
6597
    decltype(auto) value() const&&
6598
    {
6599
        return SCN_MOVE(std::get<0>(m_values));
6600
    }
6601
6602
private:
6603
    SCN_NO_UNIQUE_ADDRESS tuple_type m_values{};
6604
};
6605
6606
struct scan_result_convert_tag {};
6607
6608
template <typename Range>
6609
struct scan_result_range_storage {
6610
    static_assert(is_specialization_of_v<Range, ranges::subrange>,
6611
                  "scan_result<Range> accepts only subranges as Ranges");
6612
6613
public:
6614
    using range_type = Range;
6615
    using iterator = ranges::iterator_t<Range>;
6616
    using sentinel = ranges::sentinel_t<Range>;
6617
6618
1.25M
    constexpr scan_result_range_storage() = default;
scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::scan_result_range_storage()
Line
Count
Source
6618
450k
    constexpr scan_result_range_storage() = default;
scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >::scan_result_range_storage()
Line
Count
Source
6618
449k
    constexpr scan_result_range_storage() = default;
scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::scan_result_range_storage()
Line
Count
Source
6618
176k
    constexpr scan_result_range_storage() = default;
scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >::scan_result_range_storage()
Line
Count
Source
6618
176k
    constexpr scan_result_range_storage() = default;
Unexecuted instantiation: scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::scan_result_range_storage()
Unexecuted instantiation: scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> > >::scan_result_range_storage()
Unexecuted instantiation: scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::scan_result_range_storage()
6619
6620
    constexpr scan_result_range_storage(range_type&& r) : m_range(SCN_MOVE(r))
6621
    {
6622
    }
6623
6624
    template <typename R>
6625
    explicit constexpr scan_result_range_storage(scan_result_convert_tag, R&& r)
6626
        : m_range(SCN_MOVE(r))
6627
    {
6628
    }
6629
6630
    /// Access the ununsed source range
6631
    range_type range() const
6632
    {
6633
        return m_range;
6634
    }
6635
6636
    /// The beginning of the unused source range
6637
    auto begin() const
6638
732k
    {
6639
732k
        return ranges::begin(m_range);
6640
732k
    }
scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::begin() const
Line
Count
Source
6638
363k
    {
6639
363k
        return ranges::begin(m_range);
6640
363k
    }
scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >::begin() const
Line
Count
Source
6638
362k
    {
6639
362k
        return ranges::begin(m_range);
6640
362k
    }
scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::begin() const
Line
Count
Source
6638
3.09k
    {
6639
3.09k
        return ranges::begin(m_range);
6640
3.09k
    }
scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >::begin() const
Line
Count
Source
6638
3.09k
    {
6639
3.09k
        return ranges::begin(m_range);
6640
3.09k
    }
Unexecuted instantiation: scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::begin() const
Unexecuted instantiation: scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::begin() const
Unexecuted instantiation: scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> > >::begin() const
6641
    /// The end of the unused source range
6642
    auto end() const
6643
0
    {
6644
0
        return ranges::end(m_range);
6645
0
    }
Unexecuted instantiation: scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::end() const
Unexecuted instantiation: scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >::end() const
Unexecuted instantiation: scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::end() const
Unexecuted instantiation: scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >::end() const
Unexecuted instantiation: scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::end() const
Unexecuted instantiation: scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> > >::end() const
Unexecuted instantiation: scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::end() const
6646
6647
    template <typename Other>
6648
    void set_range(Other&& r)
6649
732k
    {
6650
732k
        m_range = std::forward<Other>(r);
6651
732k
    }
void scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::set_range<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&&)
Line
Count
Source
6649
363k
    {
6650
363k
        m_range = std::forward<Other>(r);
6651
363k
    }
void scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >::set_range<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >(scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >&&)
Line
Count
Source
6649
362k
    {
6650
362k
        m_range = std::forward<Other>(r);
6651
362k
    }
void scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::set_range<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&&)
Line
Count
Source
6649
3.09k
    {
6650
3.09k
        m_range = std::forward<Other>(r);
6651
3.09k
    }
void scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >::set_range<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >(scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >&&)
Line
Count
Source
6649
3.09k
    {
6650
3.09k
        m_range = std::forward<Other>(r);
6651
3.09k
    }
Unexecuted instantiation: void scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::set_range<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
Unexecuted instantiation: void scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> > >::set_range<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> > >(scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >&&)
Unexecuted instantiation: void scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::set_range<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
6652
6653
protected:
6654
    template <typename Other>
6655
    void assign_range(Other&& r)
6656
    {
6657
        m_range = r.m_range;
6658
    }
6659
6660
private:
6661
    SCN_NO_UNIQUE_ADDRESS range_type m_range{};
6662
};
6663
6664
struct scan_result_file_storage {
6665
public:
6666
    using range_type = std::FILE*;
6667
6668
    constexpr scan_result_file_storage() = default;
6669
6670
0
    constexpr scan_result_file_storage(std::FILE* f) : m_file(f) {}
6671
6672
    /// File used for scanning
6673
    std::FILE* file() const
6674
0
    {
6675
0
        return m_file;
6676
0
    }
6677
6678
    void set_range(std::FILE* f)
6679
0
    {
6680
0
        m_file = f;
6681
0
    }
6682
6683
protected:
6684
    void assign_range(const scan_result_file_storage& f)
6685
0
    {
6686
0
        m_file = f.m_file;
6687
0
    }
6688
6689
private:
6690
    std::FILE* m_file{nullptr};
6691
};
6692
6693
struct scan_result_dangling {
6694
    using range_type = ranges::dangling;
6695
6696
    constexpr scan_result_dangling() = default;
6697
6698
    template <typename... Args>
6699
    explicit constexpr scan_result_dangling(Args&&...)
6700
    {
6701
    }
6702
6703
    range_type range() const
6704
0
    {
6705
0
        return {};
6706
0
    }
6707
6708
    ranges::dangling begin() const
6709
0
    {
6710
0
        return {};
6711
0
    }
6712
    ranges::dangling end() const
6713
0
    {
6714
0
        return {};
6715
0
    }
6716
6717
    template <typename... Args>
6718
    void set_range(Args&&...)
6719
    {
6720
    }
6721
6722
protected:
6723
    template <typename... Args>
6724
    void assign_range(Args&&...)
6725
    {
6726
    }
6727
};
6728
6729
template <typename Range>
6730
constexpr auto get_scan_result_base()
6731
0
{
6732
0
    if constexpr (std::is_same_v<remove_cvref_t<Range>, ranges::dangling>) {
6733
0
        return type_identity<scan_result_dangling>{};
6734
0
    }
6735
0
    else if constexpr (std::is_same_v<remove_cvref_t<Range>, std::FILE*>) {
6736
0
        return type_identity<scan_result_file_storage>{};
6737
0
    }
6738
0
    else {
6739
0
        return type_identity<scan_result_range_storage<Range>>{};
6740
0
    }
6741
0
}
Unexecuted instantiation: auto scn::v4::detail::get_scan_result_base<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >()
Unexecuted instantiation: auto scn::v4::detail::get_scan_result_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >()
Unexecuted instantiation: auto scn::v4::detail::get_scan_result_base<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >()
Unexecuted instantiation: auto scn::v4::detail::get_scan_result_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >()
Unexecuted instantiation: auto scn::v4::detail::get_scan_result_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >()
Unexecuted instantiation: auto scn::v4::detail::get_scan_result_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> > >()
Unexecuted instantiation: auto scn::v4::detail::get_scan_result_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >()
6742
6743
#if !SCN_DOXYGEN
6744
template <typename Range>
6745
using scan_result_base = typename decltype(get_scan_result_base<Range>())::type;
6746
#else
6747
template <typename Range>
6748
using scan_result_base = scan_result_range_storage<Range>;
6749
#endif
6750
}  // namespace detail
6751
6752
/**
6753
 * \defgroup result Result types
6754
 *
6755
 * \brief Result and error types
6756
 *
6757
 * Instead of using exceptions, `scn::scan` and others return an object of
6758
 * type `scn::scan_result`, wrapped inside a `scn::scan_expected`.
6759
 */
6760
6761
/**
6762
 * Type returned by `scan`, contains the unused input as a subrange, and the
6763
 * scanned values in a tuple.
6764
 */
6765
template <typename Range, typename... Args>
6766
class scan_result : public detail::scan_result_base<Range>,
6767
                    public detail::scan_result_value_storage<Args...> {
6768
    using range_base = detail::scan_result_base<Range>;
6769
    using value_base = detail::scan_result_value_storage<Args...>;
6770
6771
public:
6772
    using range_type = typename range_base::range_type;
6773
    using tuple_type = typename value_base::tuple_type;
6774
6775
1.25M
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>::scan_result()
Line
Count
Source
6775
73.2k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>::scan_result()
Line
Count
Source
6775
64.2k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>::scan_result()
Line
Count
Source
6775
85.6k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>::scan_result()
Line
Count
Source
6775
69.6k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>::scan_result()
Line
Count
Source
6775
87.1k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>::scan_result()
Line
Count
Source
6775
70.4k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>::scan_result()
Line
Count
Source
6775
73.2k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>::scan_result()
Line
Count
Source
6775
64.2k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>::scan_result()
Line
Count
Source
6775
85.1k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>::scan_result()
Line
Count
Source
6775
69.7k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>::scan_result()
Line
Count
Source
6775
86.6k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>::scan_result()
Line
Count
Source
6775
70.4k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>::scan_result()
Line
Count
Source
6775
29.3k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>::scan_result()
Line
Count
Source
6775
29.2k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>::scan_result()
Line
Count
Source
6775
29.4k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>::scan_result()
Line
Count
Source
6775
29.3k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>::scan_result()
Line
Count
Source
6775
29.5k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>::scan_result()
Line
Count
Source
6775
29.4k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>::scan_result()
Line
Count
Source
6775
29.3k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>::scan_result()
Line
Count
Source
6775
29.2k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>::scan_result()
Line
Count
Source
6775
29.4k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>::scan_result()
Line
Count
Source
6775
29.3k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>::scan_result()
Line
Count
Source
6775
29.5k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>::scan_result()
Line
Count
Source
6775
29.4k
    constexpr scan_result() = default;
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_result()
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>::scan_result()
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_result()
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_result()
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_result()
6776
6777
    constexpr scan_result(const scan_result&) = default;
6778
0
    constexpr scan_result(scan_result&&) = default;
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_result(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_result(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_result(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_result(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
6779
    constexpr scan_result& operator=(const scan_result&) = default;
6780
0
    constexpr scan_result& operator=(scan_result&&) = default;
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
6781
6782
0
    ~scan_result() = default;
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::~scan_result()
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::~scan_result()
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::~scan_result()
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::~scan_result()
6783
6784
    scan_result(range_type r, tuple_type&& values)
6785
        : range_base(SCN_MOVE(r)), value_base(SCN_MOVE(values))
6786
    {
6787
    }
6788
6789
    template <typename OtherR,
6790
              std::enable_if_t<std::is_constructible_v<range_type, OtherR>>* =
6791
                  nullptr>
6792
    scan_result(OtherR&& r, tuple_type&& values)
6793
        : range_base(detail::scan_result_convert_tag{}, SCN_FWD(r)),
6794
          value_base(SCN_MOVE(values))
6795
    {
6796
    }
6797
6798
    template <typename OtherR,
6799
              std::enable_if_t<
6800
                  std::is_constructible_v<range_type, OtherR> &&
6801
                  std::is_convertible_v<const OtherR&, range_type>>* = nullptr>
6802
    SCN_IMPLICIT scan_result(const scan_result<OtherR, Args...>& o)
6803
        : range_base(detail::scan_result_convert_tag{}, o.range()),
6804
          value_base(o.values())
6805
    {
6806
    }
6807
    template <typename OtherR,
6808
              std::enable_if_t<
6809
                  std::is_constructible_v<range_type, OtherR> &&
6810
                  !std::is_convertible_v<const OtherR&, range_type>>* = nullptr>
6811
    explicit scan_result(const scan_result<OtherR, Args...>& o)
6812
        : range_base(detail::scan_result_convert_tag{}, o.range()),
6813
          value_base(o.values())
6814
    {
6815
    }
6816
6817
    template <typename OtherR,
6818
              std::enable_if_t<std::is_constructible_v<range_type, OtherR> &&
6819
                               std::is_convertible_v<OtherR&&, range_type>>* =
6820
                  nullptr>
6821
    SCN_IMPLICIT scan_result(scan_result<OtherR, Args...>&& o)
6822
        : range_base(detail::scan_result_convert_tag{}, SCN_MOVE(o.range())),
6823
          value_base(SCN_MOVE(o.values()))
6824
    {
6825
    }
6826
    template <typename OtherR,
6827
              std::enable_if_t<std::is_constructible_v<range_type, OtherR> &&
6828
                               !std::is_convertible_v<OtherR&&, range_type>>* =
6829
                  nullptr>
6830
    explicit scan_result(scan_result<OtherR, Args...>&& o)
6831
        : range_base(detail::scan_result_convert_tag{}, SCN_MOVE(o.range())),
6832
          value_base(SCN_MOVE(o.values()))
6833
    {
6834
    }
6835
6836
    template <typename OtherR,
6837
              typename =
6838
                  std::enable_if_t<std::is_constructible_v<range_type, OtherR>>>
6839
    scan_result& operator=(const scan_result<OtherR, Args...>& o)
6840
    {
6841
        this->assign_range(o);
6842
        this->values() = o.values();
6843
        return *this;
6844
    }
6845
6846
    template <typename OtherR,
6847
              typename =
6848
                  std::enable_if_t<std::is_constructible_v<range_type, OtherR>>>
6849
    scan_result& operator=(scan_result<OtherR, Args...>&& o)
6850
    {
6851
        this->assign_range(o);
6852
        this->values() = SCN_MOVE(o.values());
6853
        return *this;
6854
    }
6855
};
6856
6857
template <typename R, typename... Args>
6858
scan_result(R, std::tuple<Args...>) -> scan_result<R, Args...>;
6859
template <typename R, typename Ctx, typename... Args>
6860
scan_result(R, detail::scan_arg_store<Ctx, Args...>&)
6861
    -> scan_result<R, Args...>;
6862
6863
namespace detail {
6864
template <typename SourceRange>
6865
auto make_vscan_result_range_end(SourceRange& source)
6866
732k
{
6867
732k
    return ranges::end(source);
6868
732k
}
auto scn::v4::detail::make_vscan_result_range_end<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&)
Line
Count
Source
6866
363k
{
6867
363k
    return ranges::end(source);
6868
363k
}
auto scn::v4::detail::make_vscan_result_range_end<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >(scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >&)
Line
Count
Source
6866
362k
{
6867
362k
    return ranges::end(source);
6868
362k
}
auto scn::v4::detail::make_vscan_result_range_end<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&)
Line
Count
Source
6866
3.09k
{
6867
3.09k
    return ranges::end(source);
6868
3.09k
}
auto scn::v4::detail::make_vscan_result_range_end<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >(scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >&)
Line
Count
Source
6866
3.09k
{
6867
3.09k
    return ranges::end(source);
6868
3.09k
}
Unexecuted instantiation: auto scn::v4::detail::make_vscan_result_range_end<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&)
Unexecuted instantiation: auto scn::v4::detail::make_vscan_result_range_end<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Unexecuted instantiation: auto scn::v4::detail::make_vscan_result_range_end<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&)
6869
template <typename CharT, size_t N>
6870
auto make_vscan_result_range_end(CharT (&source)[N])
6871
    -> ranges::sentinel_t<CharT (&)[N]>
6872
{
6873
    return source + N - 1;
6874
}
6875
6876
template <typename SourceRange>
6877
auto make_vscan_result_range(SourceRange&& source, std::ptrdiff_t n)
6878
    -> borrowed_tail_subrange_t<SourceRange>
6879
732k
{
6880
    if constexpr (ranges::random_access_iterator<
6881
732k
                      ranges::iterator_t<SourceRange>>) {
6882
732k
        return {ranges::begin(source) + n, make_vscan_result_range_end(source)};
6883
    }
6884
0
    else {
6885
0
        auto it = ranges::begin(source);
6886
0
        while (n > 0) {
6887
0
            --n;
6888
0
            ++it;
6889
0
        }
6890
0
        return {SCN_MOVE(it), make_vscan_result_range_end(source)};
6891
0
    }
6892
732k
}
_ZN3scn2v46detail23make_vscan_result_rangeINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_22borrowed_tail_subrangeIT_Xsr6rangesE14borrowed_rangeISB_EEE4typeEOSB_l
Line
Count
Source
6879
363k
{
6880
    if constexpr (ranges::random_access_iterator<
6881
363k
                      ranges::iterator_t<SourceRange>>) {
6882
363k
        return {ranges::begin(source) + n, make_vscan_result_range_end(source)};
6883
    }
6884
    else {
6885
        auto it = ranges::begin(source);
6886
        while (n > 0) {
6887
            --n;
6888
            ++it;
6889
        }
6890
        return {SCN_MOVE(it), make_vscan_result_range_end(source)};
6891
    }
6892
363k
}
_ZN3scn2v46detail23make_vscan_result_rangeINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEEENS1_22borrowed_tail_subrangeIT_Xsr6rangesE14borrowed_rangeISH_EEE4typeEOSH_l
Line
Count
Source
6879
362k
{
6880
    if constexpr (ranges::random_access_iterator<
6881
362k
                      ranges::iterator_t<SourceRange>>) {
6882
362k
        return {ranges::begin(source) + n, make_vscan_result_range_end(source)};
6883
    }
6884
    else {
6885
        auto it = ranges::begin(source);
6886
        while (n > 0) {
6887
            --n;
6888
            ++it;
6889
        }
6890
        return {SCN_MOVE(it), make_vscan_result_range_end(source)};
6891
    }
6892
362k
}
_ZN3scn2v46detail23make_vscan_result_rangeINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_22borrowed_tail_subrangeIT_Xsr6rangesE14borrowed_rangeISB_EEE4typeEOSB_l
Line
Count
Source
6879
3.09k
{
6880
    if constexpr (ranges::random_access_iterator<
6881
3.09k
                      ranges::iterator_t<SourceRange>>) {
6882
3.09k
        return {ranges::begin(source) + n, make_vscan_result_range_end(source)};
6883
    }
6884
    else {
6885
        auto it = ranges::begin(source);
6886
        while (n > 0) {
6887
            --n;
6888
            ++it;
6889
        }
6890
        return {SCN_MOVE(it), make_vscan_result_range_end(source)};
6891
    }
6892
3.09k
}
_ZN3scn2v46detail23make_vscan_result_rangeINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEEENS1_22borrowed_tail_subrangeIT_Xsr6rangesE14borrowed_rangeISH_EEE4typeEOSH_l
Line
Count
Source
6879
3.09k
{
6880
    if constexpr (ranges::random_access_iterator<
6881
3.09k
                      ranges::iterator_t<SourceRange>>) {
6882
3.09k
        return {ranges::begin(source) + n, make_vscan_result_range_end(source)};
6883
    }
6884
    else {
6885
        auto it = ranges::begin(source);
6886
        while (n > 0) {
6887
            --n;
6888
            ++it;
6889
        }
6890
        return {SCN_MOVE(it), make_vscan_result_range_end(source)};
6891
    }
6892
3.09k
}
Unexecuted instantiation: _ZN3scn2v46detail23make_vscan_result_rangeINS0_6ranges6detail9subrange_8subrangeINS1_17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_22borrowed_tail_subrangeIT_Xsr6rangesE14borrowed_rangeISD_EEE4typeEOSD_l
Unexecuted instantiation: _ZN3scn2v46detail23make_vscan_result_rangeIRNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEEENS1_22borrowed_tail_subrangeIT_Xsr6rangesE14borrowed_rangeISC_EEE4typeEOSC_l
Unexecuted instantiation: _ZN3scn2v46detail23make_vscan_result_rangeINS0_6ranges6detail9subrange_8subrangeINS1_17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_22borrowed_tail_subrangeIT_Xsr6rangesE14borrowed_rangeISD_EEE4typeEOSD_l
6893
inline auto make_vscan_result_range(std::FILE* source, std::ptrdiff_t)
6894
0
{
6895
0
    return source;
6896
0
}
6897
}  // namespace detail
6898
6899
/////////////////////////////////////////////////////////////////
6900
// Format string parsing
6901
/////////////////////////////////////////////////////////////////
6902
6903
namespace detail {
6904
/// Parse context with extra data used only for compile-time checks
6905
template <typename CharT>
6906
class compile_parse_context : public basic_scan_parse_context<CharT> {
6907
    using base = basic_scan_parse_context<CharT>;
6908
6909
public:
6910
    template <typename Source>
6911
    explicit constexpr compile_parse_context(
6912
        source_tag_type<Source>,
6913
        std::basic_string_view<CharT> format_str,
6914
        int num_args,
6915
        const arg_type* types,
6916
        int next_arg_id = 0)
6917
        : base(source_tag<Source>, format_str, next_arg_id),
6918
          m_num_args(num_args),
6919
          m_types(types)
6920
    {
6921
    }
6922
6923
    SCN_NODISCARD constexpr int get_num_args() const
6924
0
    {
6925
0
        return m_num_args;
6926
0
    }
Unexecuted instantiation: scn::v4::detail::compile_parse_context<char>::get_num_args() const
Unexecuted instantiation: scn::v4::detail::compile_parse_context<wchar_t>::get_num_args() const
6927
    SCN_NODISCARD constexpr arg_type get_arg_type(std::size_t id) const
6928
    {
6929
        return m_types[id];
6930
    }
6931
6932
    SCN_GCC_PUSH
6933
    SCN_GCC_IGNORE("-Wsign-conversion")
6934
6935
    constexpr std::size_t next_arg_id()
6936
    {
6937
        auto id = base::next_arg_id();
6938
        if (SCN_UNLIKELY(id >= static_cast<size_t>(m_num_args))) {
6939
            this->on_error("Argument not found");
6940
        }
6941
        return id;
6942
    }
6943
6944
    constexpr void check_arg_id(std::size_t id)
6945
    {
6946
        base::check_arg_id(id);
6947
        if (SCN_UNLIKELY(id >= static_cast<size_t>(m_num_args))) {
6948
            this->on_error("Argument not found");
6949
        }
6950
    }
6951
    using base::check_arg_id;
6952
6953
private:
6954
    int m_num_args;
6955
    const arg_type* m_types;
6956
6957
    SCN_GCC_POP  // -Wsign-conversion
6958
};
6959
6960
constexpr inline bool is_constant_evaluated(bool default_value = false) noexcept
6961
0
{
6962
0
#ifdef __cpp_lib_is_constant_evaluated
6963
0
    SCN_UNUSED(default_value);
6964
0
    return std::is_constant_evaluated();
6965
0
#else
6966
0
    return default_value;
6967
0
#endif
6968
0
}
6969
}  // namespace detail
6970
6971
template <typename CharT>
6972
constexpr void basic_scan_parse_context<CharT>::do_check_arg_id(size_t id)
6973
1.01M
{
6974
1.01M
    if (detail::is_constant_evaluated() &&
6975
1.01M
        (!SCN_GCC || SCN_GCC >= SCN_COMPILER(12, 0, 0))) {
6976
        // The cast below will cause an error on gcc pre-12
6977
0
        using parse_context_type = detail::compile_parse_context<CharT>;
6978
0
        if (static_cast<int>(id) >=
6979
0
            static_cast<parse_context_type*>(this)->get_num_args()) {
6980
0
            SCN_UNLIKELY_ATTR
6981
0
            on_error("Argument not found");
6982
0
        }
6983
0
    }
6984
1.01M
}
scn::v4::basic_scan_parse_context<char>::do_check_arg_id(unsigned long)
Line
Count
Source
6973
710k
{
6974
710k
    if (detail::is_constant_evaluated() &&
6975
710k
        (!SCN_GCC || SCN_GCC >= SCN_COMPILER(12, 0, 0))) {
6976
        // The cast below will cause an error on gcc pre-12
6977
0
        using parse_context_type = detail::compile_parse_context<CharT>;
6978
0
        if (static_cast<int>(id) >=
6979
0
            static_cast<parse_context_type*>(this)->get_num_args()) {
6980
0
            SCN_UNLIKELY_ATTR
6981
0
            on_error("Argument not found");
6982
0
        }
6983
0
    }
6984
710k
}
scn::v4::basic_scan_parse_context<wchar_t>::do_check_arg_id(unsigned long)
Line
Count
Source
6973
302k
{
6974
302k
    if (detail::is_constant_evaluated() &&
6975
302k
        (!SCN_GCC || SCN_GCC >= SCN_COMPILER(12, 0, 0))) {
6976
        // The cast below will cause an error on gcc pre-12
6977
0
        using parse_context_type = detail::compile_parse_context<CharT>;
6978
0
        if (static_cast<int>(id) >=
6979
0
            static_cast<parse_context_type*>(this)->get_num_args()) {
6980
0
            SCN_UNLIKELY_ATTR
6981
0
            on_error("Argument not found");
6982
0
        }
6983
0
    }
6984
302k
}
6985
6986
namespace detail {
6987
enum class align_type : unsigned char {
6988
    none = 0,
6989
    left = 1,   // '<'
6990
    right = 2,  // '>'
6991
    center = 3  // '^'
6992
};
6993
6994
enum class presentation_type {
6995
    none,
6996
    int_binary,            // 'b', 'B'
6997
    int_decimal,           // 'd'
6998
    int_generic,           // 'i'
6999
    int_unsigned_decimal,  // 'u'
7000
    int_octal,             // 'o'
7001
    int_hex,               // 'x', 'X'
7002
    int_arbitrary_base,    // 'rnn', 'Rnn' (R for radix)
7003
    float_hex,             // 'a', 'A'
7004
    float_scientific,      // 'e', 'E'
7005
    float_fixed,           // 'f', 'F'
7006
    float_general,         // 'g', 'G'
7007
    string,                // 's'
7008
    string_set,            // '[...]'
7009
#if !SCN_DISABLE_REGEX
7010
    regex,          // '/.../.'
7011
    regex_escaped,  // '/..\/../.'
7012
#endif
7013
    character,          // 'c'
7014
    escaped_character,  // '?'
7015
    pointer,            // 'p'
7016
};
7017
7018
#if !SCN_DISABLE_REGEX
7019
enum class regex_flags {
7020
    none = 0,
7021
    multiline = 1,   // /m
7022
    singleline = 2,  // /s
7023
    nocase = 4,      // /i
7024
    nocapture = 8,   // /n
7025
    // TODO?
7026
    // would probably need to go hand-in-hand with locale,
7027
    // where it could even be the default/only option -> no flag?
7028
    // why else would you even use locale with a regex?
7029
    // collate = 16,
7030
};
7031
7032
constexpr regex_flags operator&(regex_flags a, regex_flags b)
7033
0
{
7034
0
    return static_cast<regex_flags>(static_cast<unsigned>(a) &
7035
0
                                    static_cast<unsigned>(b));
7036
0
}
7037
constexpr regex_flags operator|(regex_flags a, regex_flags b)
7038
0
{
7039
0
    return static_cast<regex_flags>(static_cast<unsigned>(a) |
7040
0
                                    static_cast<unsigned>(b));
7041
0
}
7042
constexpr regex_flags operator^(regex_flags a, regex_flags b)
7043
0
{
7044
0
    return static_cast<regex_flags>(static_cast<unsigned>(a) ^
7045
0
                                    static_cast<unsigned>(b));
7046
0
}
7047
7048
constexpr regex_flags& operator&=(regex_flags& a, regex_flags b)
7049
0
{
7050
0
    return a = a & b;
7051
0
}
7052
constexpr regex_flags& operator|=(regex_flags& a, regex_flags b)
7053
0
{
7054
0
    return a = a | b;
7055
0
}
7056
constexpr regex_flags& operator^=(regex_flags& a, regex_flags b)
7057
0
{
7058
0
    return a = a ^ b;
7059
0
}
7060
#endif
7061
7062
class fill_type {
7063
public:
7064
    constexpr void operator=(char c)
7065
0
    {
7066
0
        m_data[0] = c;
7067
0
        m_size = 1;
7068
0
    }
7069
7070
    template <typename CharT>
7071
    constexpr void operator=(std::basic_string_view<CharT> s)
7072
0
    {
7073
0
        SCN_EXPECT(!s.empty());
7074
0
        SCN_EXPECT(s.size() * sizeof(CharT) <= max_size);
7075
0
        if constexpr (sizeof(CharT) == 1) {
7076
0
            for (size_t i = 0; i < s.size(); ++i) {
7077
0
                SCN_GCC_PUSH
7078
0
                SCN_GCC_IGNORE("-Wstringop-overflow")  // false positive
7079
0
                m_data[i] = s[i];
7080
0
                SCN_GCC_POP
7081
0
            }
7082
0
            m_size = static_cast<unsigned char>(s.size());
7083
        }
7084
        else if constexpr (sizeof(CharT) == 2) {
7085
            m_data[0] = static_cast<char>(static_cast<unsigned>(s.front()));
7086
            m_data[1] =
7087
                static_cast<char>(static_cast<unsigned>(s.front()) >> 8);
7088
            if (s.size() == 1) {
7089
                return;
7090
            }
7091
            m_data[2] = static_cast<char>(static_cast<unsigned>(s[1]));
7092
            m_data[3] = static_cast<char>(static_cast<unsigned>(s[1]) >> 8);
7093
        }
7094
0
        else {
7095
0
            const auto front = static_cast<unsigned>(s.front());
7096
0
            m_data[0] = static_cast<char>(front);
7097
0
            m_data[1] = static_cast<char>(front >> 8);
7098
0
            m_data[2] = static_cast<char>(front >> 16);
7099
0
            m_data[3] = static_cast<char>(front >> 24);
7100
0
        }
7101
0
    }
Unexecuted instantiation: void scn::v4::detail::fill_type::operator=<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Unexecuted instantiation: void scn::v4::detail::fill_type::operator=<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
7102
7103
    constexpr size_t size() const
7104
0
    {
7105
0
        return m_size;
7106
0
    }
7107
7108
    template <typename CharT>
7109
    CharT get_code_unit() const
7110
0
    {
7111
0
        SCN_EXPECT(m_size <= sizeof(CharT));
7112
0
        CharT r{};
7113
0
        std::memcpy(&r, m_data, m_size);
7114
0
        return r;
7115
0
    }
Unexecuted instantiation: char scn::v4::detail::fill_type::get_code_unit<char>() const
Unexecuted instantiation: wchar_t scn::v4::detail::fill_type::get_code_unit<wchar_t>() const
7116
7117
    template <typename CharT>
7118
    std::basic_string_view<CharT> get_code_units() const
7119
0
    {
7120
0
        return {reinterpret_cast<const CharT*>(m_data), m_size};
7121
0
    }
Unexecuted instantiation: std::__1::basic_string_view<char, std::__1::char_traits<char> > scn::v4::detail::fill_type::get_code_units<char>() const
Unexecuted instantiation: std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > scn::v4::detail::fill_type::get_code_units<wchar_t>() const
7122
7123
private:
7124
    static constexpr size_t max_size = 4;
7125
    char m_data[max_size] = {' '};
7126
    unsigned char m_size{1};
7127
};
7128
7129
struct format_specs {
7130
    int width{0}, precision{0};
7131
    fill_type fill{};
7132
    presentation_type type{presentation_type::none};
7133
    std::array<uint8_t, 128 / 8> charset_literals{0};
7134
    bool charset_has_nonascii{false}, charset_is_inverted{false};
7135
    const void* charset_string_data{nullptr};
7136
    size_t charset_string_size{0};
7137
#if !SCN_DISABLE_REGEX
7138
    regex_flags regexp_flags{regex_flags::none};
7139
#endif
7140
    unsigned char arbitrary_base{0};
7141
    align_type align{align_type::none};
7142
    bool localized{false};
7143
7144
    constexpr format_specs() = default;
7145
7146
    SCN_NODISCARD constexpr int get_base() const
7147
842k
    {
7148
842k
        SCN_GCC_COMPAT_PUSH
7149
842k
        SCN_GCC_COMPAT_IGNORE("-Wswitch-enum")
7150
842k
        switch (type) {
7151
158k
            case presentation_type::none:
7152
158k
                return 10;
7153
175k
            case presentation_type::int_generic:
7154
175k
                return 0;
7155
0
            case presentation_type::int_arbitrary_base:
7156
0
                return arbitrary_base;
7157
7158
76.7k
            case presentation_type::int_binary:
7159
76.7k
                return 2;
7160
110k
            case presentation_type::int_octal:
7161
110k
                return 8;
7162
157k
            case presentation_type::int_decimal:
7163
157k
            case presentation_type::int_unsigned_decimal:
7164
157k
                return 10;
7165
164k
            case presentation_type::int_hex:
7166
164k
                return 16;
7167
7168
0
            default:
7169
0
                SCN_EXPECT(false);
7170
842k
                SCN_UNREACHABLE;
7171
842k
        }
7172
842k
        SCN_GCC_COMPAT_POP
7173
842k
    }
7174
7175
    template <typename CharT>
7176
    std::basic_string_view<CharT> charset_string() const
7177
0
    {
7178
0
        return {reinterpret_cast<const CharT*>(charset_string_data),
7179
0
                charset_string_size};
7180
0
    }
Unexecuted instantiation: std::__1::basic_string_view<char, std::__1::char_traits<char> > scn::v4::detail::format_specs::charset_string<char>() const
Unexecuted instantiation: std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > scn::v4::detail::format_specs::charset_string<wchar_t>() const
7181
};
7182
7183
struct specs_setter {
7184
public:
7185
1.01M
    explicit constexpr specs_setter(format_specs& specs) : m_specs(specs) {}
7186
7187
    constexpr void on_align(align_type align)
7188
0
    {
7189
0
        m_specs.align = align;
7190
0
    }
7191
    template <typename CharT>
7192
    constexpr void on_fill(std::basic_string_view<CharT> fill)
7193
0
    {
7194
0
        m_specs.fill = fill;
7195
0
    }
Unexecuted instantiation: void scn::v4::detail::specs_setter::on_fill<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Unexecuted instantiation: void scn::v4::detail::specs_setter::on_fill<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
7196
    template <bool Dependent = true>
7197
    constexpr void on_localized()
7198
162k
    {
7199
162k
        if constexpr (!SCN_DISABLE_LOCALE) {
7200
162k
            m_specs.localized = true;
7201
        }
7202
        else {
7203
            on_error("'L' flag invalid when SCN_DISABLE_LOCALE is on");
7204
        }
7205
162k
    }
7206
7207
    constexpr void on_width(int width)
7208
0
    {
7209
0
        if (m_specs.precision != 0 && width > m_specs.precision) {
7210
            // clang-format off
7211
0
            return this->on_error("Width (i.e., minimum field length) cannot be larger than precision (i.e., maximum field length)");
7212
            // clang-format on
7213
0
        }
7214
7215
0
        m_specs.width = width;
7216
0
    }
7217
    constexpr void on_precision(int prec)
7218
0
    {
7219
0
        if (m_specs.width > prec) {
7220
            // clang-format off
7221
0
            return this->on_error("Width (i.e., minimum field length) cannot be larger than precision (i.e., maximum field length)");
7222
            // clang-format on
7223
0
        }
7224
7225
0
        m_specs.precision = prec;
7226
0
    }
7227
7228
    constexpr void on_type(presentation_type type)
7229
750k
    {
7230
750k
        m_specs.type = type;
7231
750k
    }
7232
7233
    constexpr void on_charset_single(char32_t cp)
7234
0
    {
7235
0
        const auto cp_value = static_cast<unsigned>(cp);
7236
0
        if (SCN_LIKELY(cp_value <= 127)) {
7237
0
            m_specs.charset_literals[cp_value / 8] |=
7238
0
                static_cast<unsigned char>(1ul << (cp_value % 8));
7239
0
        }
7240
0
        else {
7241
0
            m_specs.charset_has_nonascii = true;
7242
0
        }
7243
0
    }
7244
7245
    constexpr void on_charset_range(char32_t begin, char32_t end)
7246
0
    {
7247
0
        const auto begin_value = static_cast<unsigned>(begin);
7248
0
        const auto end_value = static_cast<unsigned>(end);
7249
0
        SCN_EXPECT(begin_value < end_value);
7250
7251
0
        if (SCN_LIKELY(end_value <= 127)) {
7252
            // No need to bit-twiddle with a mask, because with the
7253
            // SCN_ASSUME, -O3 will optimize this to a single operation
7254
0
            SCN_ASSUME(begin_value < end_value);
7255
0
            for (auto v = begin_value; v != end_value; ++v) {
7256
0
                m_specs.charset_literals[v / 8] |=
7257
0
                    static_cast<unsigned char>(1ul << (v % 8));
7258
0
            }
7259
0
        }
7260
0
        else {
7261
0
            m_specs.charset_has_nonascii = true;
7262
0
        }
7263
0
    }
7264
7265
    constexpr void on_charset_inverted()
7266
0
    {
7267
0
        m_specs.charset_is_inverted = true;
7268
0
    }
7269
7270
    template <typename CharT>
7271
    constexpr void on_character_set_string(std::basic_string_view<CharT> fmt)
7272
0
    {
7273
0
        m_specs.charset_string_data = fmt.data();
7274
0
        m_specs.charset_string_size = fmt.size();
7275
0
        on_type(presentation_type::string_set);
7276
0
    }
Unexecuted instantiation: void scn::v4::detail::specs_setter::on_character_set_string<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Unexecuted instantiation: void scn::v4::detail::specs_setter::on_character_set_string<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
7277
7278
#if !SCN_DISABLE_REGEX
7279
    template <typename CharT>
7280
    constexpr void on_regex_pattern(std::basic_string_view<CharT> pattern)
7281
0
    {
7282
0
        m_specs.charset_string_data = pattern.data();
7283
0
        m_specs.charset_string_size = pattern.size();
7284
0
    }
Unexecuted instantiation: void scn::v4::detail::specs_setter::on_regex_pattern<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Unexecuted instantiation: void scn::v4::detail::specs_setter::on_regex_pattern<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
7285
    constexpr void on_regex_flags(regex_flags flags)
7286
0
    {
7287
0
        m_specs.regexp_flags = flags;
7288
0
    }
7289
#endif
7290
7291
    // Intentionally not constexpr to get a compiler-time error when called
7292
    /*not-constexpr*/ void on_error(const char* msg)
7293
99.0k
    {
7294
99.0k
        SCN_UNLIKELY_ATTR
7295
99.0k
        m_error = unexpected_scan_error(scan_error::invalid_format_string, msg);
7296
99.0k
    }
7297
    /*not-constexpr*/ void on_error(scan_error err)
7298
0
    {
7299
0
        SCN_UNLIKELY_ATTR
7300
0
        m_error = unexpected(err);
7301
0
    }
7302
7303
    constexpr scan_expected<void> get_error() const
7304
913k
    {
7305
913k
        return m_error;
7306
913k
    }
7307
7308
protected:
7309
    format_specs& m_specs;
7310
    scan_expected<void> m_error;
7311
};
7312
7313
template <typename CharT>
7314
constexpr int parse_simple_int(const CharT*& begin, const CharT* end)
7315
0
{
7316
0
    SCN_EXPECT(begin != end);
7317
0
    SCN_EXPECT(*begin >= '0' && *begin <= '9');
7318
7319
0
    unsigned long long value = 0;
7320
0
    do {
7321
0
        value *= 10;
7322
0
        value += static_cast<unsigned long long>(*begin - '0');
7323
0
        if (value >
7324
0
            static_cast<unsigned long long>(std::numeric_limits<int>::max())) {
7325
0
            return -1;
7326
0
        }
7327
0
        ++begin;
7328
0
    } while (begin != end && *begin >= '0' && *begin <= '9');
7329
0
    return static_cast<int>(value);
7330
0
}
Unexecuted instantiation: int scn::v4::detail::parse_simple_int<char>(char const*&, char const*)
Unexecuted instantiation: int scn::v4::detail::parse_simple_int<wchar_t>(wchar_t const*&, wchar_t const*)
7331
7332
template <typename CharT, typename IDHandler>
7333
constexpr const CharT* do_parse_arg_id(const CharT* begin,
7334
                                       const CharT* end,
7335
                                       IDHandler&& handler)
7336
0
{
7337
0
    SCN_EXPECT(begin != end);
7338
7339
0
    CharT c = *begin;
7340
0
    if (c < CharT{'0'} || c > CharT{'9'}) {
7341
0
        handler.on_error("Invalid argument ID");
7342
0
        return begin;
7343
0
    }
7344
7345
0
    int idx = 0;
7346
0
    if (c != CharT{'0'}) {
7347
0
        idx = parse_simple_int(begin, end);
7348
0
    }
7349
0
    else {
7350
0
        ++begin;
7351
0
    }
7352
7353
0
    if (begin == end || (*begin != CharT{'}'} && *begin != CharT{':'})) {
7354
0
        handler.on_error("Invalid argument ID");
7355
0
        return begin;
7356
0
    }
7357
0
    handler(static_cast<std::size_t>(idx));
7358
7359
0
    return begin;
7360
0
}
Unexecuted instantiation: impl.cpp:char const* scn::v4::detail::do_parse_arg_id<char, scn::v4::detail::parse_replacement_field<char, scn::v4::(anonymous namespace)::format_handler<true, char> >(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<true, char>&)::id_adapter&>(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<true, char>&&)
Unexecuted instantiation: impl.cpp:char const* scn::v4::detail::do_parse_arg_id<char, scn::v4::detail::parse_replacement_field<char, scn::v4::(anonymous namespace)::format_handler<false, char> >(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<false, char>&)::id_adapter&>(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<false, char>&&)
Unexecuted instantiation: impl.cpp:wchar_t const* scn::v4::detail::do_parse_arg_id<wchar_t, scn::v4::detail::parse_replacement_field<wchar_t, scn::v4::(anonymous namespace)::format_handler<true, wchar_t> >(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<true, wchar_t>&)::id_adapter&>(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<true, wchar_t>&&)
Unexecuted instantiation: impl.cpp:wchar_t const* scn::v4::detail::do_parse_arg_id<wchar_t, scn::v4::detail::parse_replacement_field<wchar_t, scn::v4::(anonymous namespace)::format_handler<false, wchar_t> >(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<false, wchar_t>&)::id_adapter&>(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<false, wchar_t>&&)
7361
7362
template <typename CharT, typename IDHandler>
7363
constexpr const CharT* parse_arg_id(const CharT* begin,
7364
                                    const CharT* end,
7365
                                    IDHandler&& handler)
7366
1.01M
{
7367
1.01M
    SCN_EXPECT(begin != end);
7368
1.01M
    if (*begin != '}' && *begin != ':') {
7369
0
        return do_parse_arg_id(begin, end, SCN_FWD(handler));
7370
0
    }
7371
7372
1.01M
    handler();
7373
1.01M
    return begin;
7374
1.01M
}
impl.cpp:char const* scn::v4::detail::parse_arg_id<char, scn::v4::detail::parse_replacement_field<char, scn::v4::(anonymous namespace)::format_handler<true, char> >(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<true, char>&)::id_adapter&>(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<true, char>&&)
Line
Count
Source
7366
354k
{
7367
354k
    SCN_EXPECT(begin != end);
7368
354k
    if (*begin != '}' && *begin != ':') {
7369
0
        return do_parse_arg_id(begin, end, SCN_FWD(handler));
7370
0
    }
7371
7372
354k
    handler();
7373
354k
    return begin;
7374
354k
}
impl.cpp:char const* scn::v4::detail::parse_arg_id<char, scn::v4::detail::parse_replacement_field<char, scn::v4::(anonymous namespace)::format_handler<false, char> >(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<false, char>&)::id_adapter&>(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<false, char>&&)
Line
Count
Source
7366
355k
{
7367
355k
    SCN_EXPECT(begin != end);
7368
355k
    if (*begin != '}' && *begin != ':') {
7369
0
        return do_parse_arg_id(begin, end, SCN_FWD(handler));
7370
0
    }
7371
7372
355k
    handler();
7373
355k
    return begin;
7374
355k
}
impl.cpp:wchar_t const* scn::v4::detail::parse_arg_id<wchar_t, scn::v4::detail::parse_replacement_field<wchar_t, scn::v4::(anonymous namespace)::format_handler<true, wchar_t> >(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<true, wchar_t>&)::id_adapter&>(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<true, wchar_t>&&)
Line
Count
Source
7366
151k
{
7367
151k
    SCN_EXPECT(begin != end);
7368
151k
    if (*begin != '}' && *begin != ':') {
7369
0
        return do_parse_arg_id(begin, end, SCN_FWD(handler));
7370
0
    }
7371
7372
151k
    handler();
7373
151k
    return begin;
7374
151k
}
impl.cpp:wchar_t const* scn::v4::detail::parse_arg_id<wchar_t, scn::v4::detail::parse_replacement_field<wchar_t, scn::v4::(anonymous namespace)::format_handler<false, wchar_t> >(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<false, wchar_t>&)::id_adapter&>(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<false, wchar_t>&&)
Line
Count
Source
7366
151k
{
7367
151k
    SCN_EXPECT(begin != end);
7368
151k
    if (*begin != '}' && *begin != ':') {
7369
0
        return do_parse_arg_id(begin, end, SCN_FWD(handler));
7370
0
    }
7371
7372
151k
    handler();
7373
151k
    return begin;
7374
151k
}
7375
7376
template <typename CharT>
7377
constexpr presentation_type parse_presentation_type(CharT type)
7378
849k
{
7379
849k
    switch (type) {
7380
78.2k
        case 'b':
7381
127k
        case 'B':
7382
127k
            return presentation_type::int_binary;
7383
161k
        case 'd':
7384
161k
            return presentation_type::int_decimal;
7385
179k
        case 'i':
7386
179k
            return presentation_type::int_generic;
7387
0
        case 'u':
7388
0
            return presentation_type::int_unsigned_decimal;
7389
112k
        case 'o':
7390
112k
            return presentation_type::int_octal;
7391
169k
        case 'x':
7392
169k
        case 'X':
7393
169k
            return presentation_type::int_hex;
7394
0
        case 'r':
7395
0
        case 'R':
7396
0
            return presentation_type::int_arbitrary_base;
7397
0
        case 'a':
7398
0
        case 'A':
7399
0
            return presentation_type::float_hex;
7400
0
        case 'e':
7401
0
        case 'E':
7402
0
            return presentation_type::float_scientific;
7403
0
        case 'f':
7404
0
        case 'F':
7405
0
            return presentation_type::float_fixed;
7406
0
        case 'g':
7407
0
        case 'G':
7408
0
            return presentation_type::float_general;
7409
0
        case 's':
7410
0
            return presentation_type::string;
7411
0
        case 'c':
7412
0
            return presentation_type::character;
7413
0
        case '?':
7414
0
            return presentation_type::escaped_character;
7415
0
        case 'p':
7416
0
            return presentation_type::pointer;
7417
0
        case '[':
7418
0
        case '/':
7419
            // Should be handled by parse_presentation_set and
7420
            // parse_presentation_regex
7421
0
            SCN_EXPECT(false);
7422
0
            SCN_UNREACHABLE;
7423
99.0k
        default:
7424
99.0k
            return presentation_type::none;
7425
849k
    }
7426
849k
}
scn::v4::detail::presentation_type scn::v4::detail::parse_presentation_type<char>(char)
Line
Count
Source
7378
581k
{
7379
581k
    switch (type) {
7380
44.7k
        case 'b':
7381
61.2k
        case 'B':
7382
61.2k
            return presentation_type::int_binary;
7383
127k
        case 'd':
7384
127k
            return presentation_type::int_decimal;
7385
145k
        case 'i':
7386
145k
            return presentation_type::int_generic;
7387
0
        case 'u':
7388
0
            return presentation_type::int_unsigned_decimal;
7389
79.4k
        case 'o':
7390
79.4k
            return presentation_type::int_octal;
7391
134k
        case 'x':
7392
134k
        case 'X':
7393
134k
            return presentation_type::int_hex;
7394
0
        case 'r':
7395
0
        case 'R':
7396
0
            return presentation_type::int_arbitrary_base;
7397
0
        case 'a':
7398
0
        case 'A':
7399
0
            return presentation_type::float_hex;
7400
0
        case 'e':
7401
0
        case 'E':
7402
0
            return presentation_type::float_scientific;
7403
0
        case 'f':
7404
0
        case 'F':
7405
0
            return presentation_type::float_fixed;
7406
0
        case 'g':
7407
0
        case 'G':
7408
0
            return presentation_type::float_general;
7409
0
        case 's':
7410
0
            return presentation_type::string;
7411
0
        case 'c':
7412
0
            return presentation_type::character;
7413
0
        case '?':
7414
0
            return presentation_type::escaped_character;
7415
0
        case 'p':
7416
0
            return presentation_type::pointer;
7417
0
        case '[':
7418
0
        case '/':
7419
            // Should be handled by parse_presentation_set and
7420
            // parse_presentation_regex
7421
0
            SCN_EXPECT(false);
7422
0
            SCN_UNREACHABLE;
7423
33.0k
        default:
7424
33.0k
            return presentation_type::none;
7425
581k
    }
7426
581k
}
scn::v4::detail::presentation_type scn::v4::detail::parse_presentation_type<wchar_t>(wchar_t)
Line
Count
Source
7378
268k
{
7379
268k
    switch (type) {
7380
33.4k
        case 'b':
7381
66.4k
        case 'B':
7382
66.4k
            return presentation_type::int_binary;
7383
33.9k
        case 'd':
7384
33.9k
            return presentation_type::int_decimal;
7385
33.9k
        case 'i':
7386
33.9k
            return presentation_type::int_generic;
7387
0
        case 'u':
7388
0
            return presentation_type::int_unsigned_decimal;
7389
33.5k
        case 'o':
7390
33.5k
            return presentation_type::int_octal;
7391
34.0k
        case 'x':
7392
34.0k
        case 'X':
7393
34.0k
            return presentation_type::int_hex;
7394
0
        case 'r':
7395
0
        case 'R':
7396
0
            return presentation_type::int_arbitrary_base;
7397
0
        case 'a':
7398
0
        case 'A':
7399
0
            return presentation_type::float_hex;
7400
0
        case 'e':
7401
0
        case 'E':
7402
0
            return presentation_type::float_scientific;
7403
0
        case 'f':
7404
0
        case 'F':
7405
0
            return presentation_type::float_fixed;
7406
0
        case 'g':
7407
0
        case 'G':
7408
0
            return presentation_type::float_general;
7409
0
        case 's':
7410
0
            return presentation_type::string;
7411
0
        case 'c':
7412
0
            return presentation_type::character;
7413
0
        case '?':
7414
0
            return presentation_type::escaped_character;
7415
0
        case 'p':
7416
0
            return presentation_type::pointer;
7417
0
        case '[':
7418
0
        case '/':
7419
            // Should be handled by parse_presentation_set and
7420
            // parse_presentation_regex
7421
0
            SCN_EXPECT(false);
7422
0
            SCN_UNREACHABLE;
7423
66.0k
        default:
7424
66.0k
            return presentation_type::none;
7425
268k
    }
7426
268k
}
7427
7428
template <typename CharT>
7429
constexpr bool is_ascii_letter(CharT ch)
7430
913k
{
7431
913k
    return (ch >= CharT{'a'} && ch <= CharT{'z'}) ||
7432
913k
           (ch >= CharT{'A'} && ch <= CharT{'Z'});
7433
913k
}
bool scn::v4::detail::is_ascii_letter<char>(char)
Line
Count
Source
7430
677k
{
7431
677k
    return (ch >= CharT{'a'} && ch <= CharT{'z'}) ||
7432
677k
           (ch >= CharT{'A'} && ch <= CharT{'Z'});
7433
677k
}
bool scn::v4::detail::is_ascii_letter<wchar_t>(wchar_t)
Line
Count
Source
7430
235k
{
7431
235k
    return (ch >= CharT{'a'} && ch <= CharT{'z'}) ||
7432
235k
           (ch >= CharT{'A'} && ch <= CharT{'Z'});
7433
235k
}
7434
7435
template <typename CharT>
7436
constexpr int code_point_length(const CharT* begin, const CharT* end)
7437
311k
{
7438
311k
    SCN_EXPECT(begin != end);
7439
311k
    if constexpr (sizeof(CharT) != 1) {
7440
133k
        return 1;
7441
    }
7442
178k
    else {
7443
178k
        const auto lengths =
7444
178k
            "\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\0\0\0\0\0\0\0\0\2\2\2\2\3"
7445
178k
            "\3\4";
7446
178k
        const int len = lengths[static_cast<unsigned char>(*begin) >> 3];
7447
178k
        return len;
7448
178k
    }
7449
311k
}
int scn::v4::detail::code_point_length<char>(char const*, char const*)
Line
Count
Source
7437
178k
{
7438
178k
    SCN_EXPECT(begin != end);
7439
    if constexpr (sizeof(CharT) != 1) {
7440
        return 1;
7441
    }
7442
178k
    else {
7443
178k
        const auto lengths =
7444
178k
            "\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\0\0\0\0\0\0\0\0\2\2\2\2\3"
7445
178k
            "\3\4";
7446
178k
        const int len = lengths[static_cast<unsigned char>(*begin) >> 3];
7447
178k
        return len;
7448
178k
    }
7449
178k
}
int scn::v4::detail::code_point_length<wchar_t>(wchar_t const*, wchar_t const*)
Line
Count
Source
7437
133k
{
7438
133k
    SCN_EXPECT(begin != end);
7439
133k
    if constexpr (sizeof(CharT) != 1) {
7440
133k
        return 1;
7441
    }
7442
    else {
7443
        const auto lengths =
7444
            "\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\0\0\0\0\0\0\0\0\2\2\2\2\3"
7445
            "\3\4";
7446
        const int len = lengths[static_cast<unsigned char>(*begin) >> 3];
7447
        return len;
7448
    }
7449
133k
}
7450
7451
template <typename CharT, typename Handler>
7452
constexpr const CharT* parse_align(const CharT* begin,
7453
                                   const CharT* end,
7454
                                   Handler&& handler)
7455
311k
{
7456
311k
    SCN_EXPECT(begin != end);
7457
7458
623k
    auto check_align = [](wchar_t ch) {
7459
623k
        switch (ch) {
7460
0
            case L'<':
7461
0
                return align_type::left;
7462
0
            case L'>':
7463
0
                return align_type::right;
7464
0
            case L'^':
7465
0
                return align_type::center;
7466
623k
            default:
7467
623k
                return align_type::none;
7468
623k
        }
7469
623k
    };
impl.cpp:scn::v4::detail::parse_align<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&>(char const*, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&)::{lambda(wchar_t)#1}::operator()(wchar_t) const
Line
Count
Source
7458
178k
    auto check_align = [](wchar_t ch) {
7459
178k
        switch (ch) {
7460
0
            case L'<':
7461
0
                return align_type::left;
7462
0
            case L'>':
7463
0
                return align_type::right;
7464
0
            case L'^':
7465
0
                return align_type::center;
7466
178k
            default:
7467
178k
                return align_type::none;
7468
178k
        }
7469
178k
    };
impl.cpp:scn::v4::detail::parse_align<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&>(char const*, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&)::{lambda(wchar_t)#1}::operator()(wchar_t) const
Line
Count
Source
7458
178k
    auto check_align = [](wchar_t ch) {
7459
178k
        switch (ch) {
7460
0
            case L'<':
7461
0
                return align_type::left;
7462
0
            case L'>':
7463
0
                return align_type::right;
7464
0
            case L'^':
7465
0
                return align_type::center;
7466
178k
            default:
7467
178k
                return align_type::none;
7468
178k
        }
7469
178k
    };
impl.cpp:scn::v4::detail::parse_align<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&)::{lambda(wchar_t)#1}::operator()(wchar_t) const
Line
Count
Source
7458
133k
    auto check_align = [](wchar_t ch) {
7459
133k
        switch (ch) {
7460
0
            case L'<':
7461
0
                return align_type::left;
7462
0
            case L'>':
7463
0
                return align_type::right;
7464
0
            case L'^':
7465
0
                return align_type::center;
7466
133k
            default:
7467
133k
                return align_type::none;
7468
133k
        }
7469
133k
    };
impl.cpp:scn::v4::detail::parse_align<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&)::{lambda(wchar_t)#1}::operator()(wchar_t) const
Line
Count
Source
7458
133k
    auto check_align = [](wchar_t ch) {
7459
133k
        switch (ch) {
7460
0
            case L'<':
7461
0
                return align_type::left;
7462
0
            case L'>':
7463
0
                return align_type::right;
7464
0
            case L'^':
7465
0
                return align_type::center;
7466
133k
            default:
7467
133k
                return align_type::none;
7468
133k
        }
7469
133k
    };
7470
7471
311k
    auto potential_fill_len = code_point_length(begin, end);
7472
311k
    if (SCN_UNLIKELY(potential_fill_len == 0 ||
7473
311k
                     std::distance(begin, end) < potential_fill_len)) {
7474
0
        handler.on_error("Invalid encoding in fill character");
7475
0
        return begin;
7476
0
    }
7477
7478
311k
    auto potential_align_on_fill = check_align(static_cast<wchar_t>(*begin));
7479
7480
311k
    auto potential_fill = std::basic_string_view<CharT>{
7481
311k
        begin, static_cast<size_t>(potential_fill_len)};
7482
311k
    const auto begin_before_fill = begin;
7483
311k
    begin += potential_fill_len;
7484
7485
311k
    if (begin == end) {
7486
0
        return begin_before_fill;
7487
0
    }
7488
7489
311k
    auto potential_align_after_fill = check_align(static_cast<wchar_t>(*begin));
7490
311k
    const auto begin_after_fill = begin;
7491
311k
    ++begin;
7492
7493
311k
    if (potential_fill_len == 1) {
7494
311k
        if (SCN_UNLIKELY(potential_fill[0] == '{')) {
7495
0
            handler.on_error("Invalid fill character '{' in format string");
7496
0
            return begin;
7497
0
        }
7498
311k
        if (potential_fill[0] == '[') {
7499
0
            return begin_before_fill;
7500
0
        }
7501
311k
    }
7502
7503
311k
    if (potential_align_after_fill == align_type::none) {
7504
311k
        if (potential_align_on_fill != align_type::none) {
7505
0
            handler.on_align(potential_align_on_fill);
7506
0
            return begin_after_fill;
7507
0
        }
7508
311k
        return begin_before_fill;
7509
311k
    }
7510
7511
0
    handler.on_fill(potential_fill);
7512
0
    handler.on_align(potential_align_after_fill);
7513
0
    return begin;
7514
311k
}
impl.cpp:char const* scn::v4::detail::parse_align<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&>(char const*, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&)
Line
Count
Source
7455
89.1k
{
7456
89.1k
    SCN_EXPECT(begin != end);
7457
7458
89.1k
    auto check_align = [](wchar_t ch) {
7459
89.1k
        switch (ch) {
7460
89.1k
            case L'<':
7461
89.1k
                return align_type::left;
7462
89.1k
            case L'>':
7463
89.1k
                return align_type::right;
7464
89.1k
            case L'^':
7465
89.1k
                return align_type::center;
7466
89.1k
            default:
7467
89.1k
                return align_type::none;
7468
89.1k
        }
7469
89.1k
    };
7470
7471
89.1k
    auto potential_fill_len = code_point_length(begin, end);
7472
89.1k
    if (SCN_UNLIKELY(potential_fill_len == 0 ||
7473
89.1k
                     std::distance(begin, end) < potential_fill_len)) {
7474
0
        handler.on_error("Invalid encoding in fill character");
7475
0
        return begin;
7476
0
    }
7477
7478
89.1k
    auto potential_align_on_fill = check_align(static_cast<wchar_t>(*begin));
7479
7480
89.1k
    auto potential_fill = std::basic_string_view<CharT>{
7481
89.1k
        begin, static_cast<size_t>(potential_fill_len)};
7482
89.1k
    const auto begin_before_fill = begin;
7483
89.1k
    begin += potential_fill_len;
7484
7485
89.1k
    if (begin == end) {
7486
0
        return begin_before_fill;
7487
0
    }
7488
7489
89.1k
    auto potential_align_after_fill = check_align(static_cast<wchar_t>(*begin));
7490
89.1k
    const auto begin_after_fill = begin;
7491
89.1k
    ++begin;
7492
7493
89.1k
    if (potential_fill_len == 1) {
7494
89.1k
        if (SCN_UNLIKELY(potential_fill[0] == '{')) {
7495
0
            handler.on_error("Invalid fill character '{' in format string");
7496
0
            return begin;
7497
0
        }
7498
89.1k
        if (potential_fill[0] == '[') {
7499
0
            return begin_before_fill;
7500
0
        }
7501
89.1k
    }
7502
7503
89.1k
    if (potential_align_after_fill == align_type::none) {
7504
89.1k
        if (potential_align_on_fill != align_type::none) {
7505
0
            handler.on_align(potential_align_on_fill);
7506
0
            return begin_after_fill;
7507
0
        }
7508
89.1k
        return begin_before_fill;
7509
89.1k
    }
7510
7511
0
    handler.on_fill(potential_fill);
7512
0
    handler.on_align(potential_align_after_fill);
7513
0
    return begin;
7514
89.1k
}
impl.cpp:char const* scn::v4::detail::parse_align<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&>(char const*, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&)
Line
Count
Source
7455
89.2k
{
7456
89.2k
    SCN_EXPECT(begin != end);
7457
7458
89.2k
    auto check_align = [](wchar_t ch) {
7459
89.2k
        switch (ch) {
7460
89.2k
            case L'<':
7461
89.2k
                return align_type::left;
7462
89.2k
            case L'>':
7463
89.2k
                return align_type::right;
7464
89.2k
            case L'^':
7465
89.2k
                return align_type::center;
7466
89.2k
            default:
7467
89.2k
                return align_type::none;
7468
89.2k
        }
7469
89.2k
    };
7470
7471
89.2k
    auto potential_fill_len = code_point_length(begin, end);
7472
89.2k
    if (SCN_UNLIKELY(potential_fill_len == 0 ||
7473
89.2k
                     std::distance(begin, end) < potential_fill_len)) {
7474
0
        handler.on_error("Invalid encoding in fill character");
7475
0
        return begin;
7476
0
    }
7477
7478
89.2k
    auto potential_align_on_fill = check_align(static_cast<wchar_t>(*begin));
7479
7480
89.2k
    auto potential_fill = std::basic_string_view<CharT>{
7481
89.2k
        begin, static_cast<size_t>(potential_fill_len)};
7482
89.2k
    const auto begin_before_fill = begin;
7483
89.2k
    begin += potential_fill_len;
7484
7485
89.2k
    if (begin == end) {
7486
0
        return begin_before_fill;
7487
0
    }
7488
7489
89.2k
    auto potential_align_after_fill = check_align(static_cast<wchar_t>(*begin));
7490
89.2k
    const auto begin_after_fill = begin;
7491
89.2k
    ++begin;
7492
7493
89.2k
    if (potential_fill_len == 1) {
7494
89.2k
        if (SCN_UNLIKELY(potential_fill[0] == '{')) {
7495
0
            handler.on_error("Invalid fill character '{' in format string");
7496
0
            return begin;
7497
0
        }
7498
89.2k
        if (potential_fill[0] == '[') {
7499
0
            return begin_before_fill;
7500
0
        }
7501
89.2k
    }
7502
7503
89.2k
    if (potential_align_after_fill == align_type::none) {
7504
89.2k
        if (potential_align_on_fill != align_type::none) {
7505
0
            handler.on_align(potential_align_on_fill);
7506
0
            return begin_after_fill;
7507
0
        }
7508
89.2k
        return begin_before_fill;
7509
89.2k
    }
7510
7511
0
    handler.on_fill(potential_fill);
7512
0
    handler.on_align(potential_align_after_fill);
7513
0
    return begin;
7514
89.2k
}
impl.cpp:wchar_t const* scn::v4::detail::parse_align<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&)
Line
Count
Source
7455
66.5k
{
7456
66.5k
    SCN_EXPECT(begin != end);
7457
7458
66.5k
    auto check_align = [](wchar_t ch) {
7459
66.5k
        switch (ch) {
7460
66.5k
            case L'<':
7461
66.5k
                return align_type::left;
7462
66.5k
            case L'>':
7463
66.5k
                return align_type::right;
7464
66.5k
            case L'^':
7465
66.5k
                return align_type::center;
7466
66.5k
            default:
7467
66.5k
                return align_type::none;
7468
66.5k
        }
7469
66.5k
    };
7470
7471
66.5k
    auto potential_fill_len = code_point_length(begin, end);
7472
66.5k
    if (SCN_UNLIKELY(potential_fill_len == 0 ||
7473
66.5k
                     std::distance(begin, end) < potential_fill_len)) {
7474
0
        handler.on_error("Invalid encoding in fill character");
7475
0
        return begin;
7476
0
    }
7477
7478
66.5k
    auto potential_align_on_fill = check_align(static_cast<wchar_t>(*begin));
7479
7480
66.5k
    auto potential_fill = std::basic_string_view<CharT>{
7481
66.5k
        begin, static_cast<size_t>(potential_fill_len)};
7482
66.5k
    const auto begin_before_fill = begin;
7483
66.5k
    begin += potential_fill_len;
7484
7485
66.5k
    if (begin == end) {
7486
0
        return begin_before_fill;
7487
0
    }
7488
7489
66.5k
    auto potential_align_after_fill = check_align(static_cast<wchar_t>(*begin));
7490
66.5k
    const auto begin_after_fill = begin;
7491
66.5k
    ++begin;
7492
7493
66.5k
    if (potential_fill_len == 1) {
7494
66.5k
        if (SCN_UNLIKELY(potential_fill[0] == '{')) {
7495
0
            handler.on_error("Invalid fill character '{' in format string");
7496
0
            return begin;
7497
0
        }
7498
66.5k
        if (potential_fill[0] == '[') {
7499
0
            return begin_before_fill;
7500
0
        }
7501
66.5k
    }
7502
7503
66.5k
    if (potential_align_after_fill == align_type::none) {
7504
66.5k
        if (potential_align_on_fill != align_type::none) {
7505
0
            handler.on_align(potential_align_on_fill);
7506
0
            return begin_after_fill;
7507
0
        }
7508
66.5k
        return begin_before_fill;
7509
66.5k
    }
7510
7511
0
    handler.on_fill(potential_fill);
7512
0
    handler.on_align(potential_align_after_fill);
7513
0
    return begin;
7514
66.5k
}
impl.cpp:wchar_t const* scn::v4::detail::parse_align<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&)
Line
Count
Source
7455
66.5k
{
7456
66.5k
    SCN_EXPECT(begin != end);
7457
7458
66.5k
    auto check_align = [](wchar_t ch) {
7459
66.5k
        switch (ch) {
7460
66.5k
            case L'<':
7461
66.5k
                return align_type::left;
7462
66.5k
            case L'>':
7463
66.5k
                return align_type::right;
7464
66.5k
            case L'^':
7465
66.5k
                return align_type::center;
7466
66.5k
            default:
7467
66.5k
                return align_type::none;
7468
66.5k
        }
7469
66.5k
    };
7470
7471
66.5k
    auto potential_fill_len = code_point_length(begin, end);
7472
66.5k
    if (SCN_UNLIKELY(potential_fill_len == 0 ||
7473
66.5k
                     std::distance(begin, end) < potential_fill_len)) {
7474
0
        handler.on_error("Invalid encoding in fill character");
7475
0
        return begin;
7476
0
    }
7477
7478
66.5k
    auto potential_align_on_fill = check_align(static_cast<wchar_t>(*begin));
7479
7480
66.5k
    auto potential_fill = std::basic_string_view<CharT>{
7481
66.5k
        begin, static_cast<size_t>(potential_fill_len)};
7482
66.5k
    const auto begin_before_fill = begin;
7483
66.5k
    begin += potential_fill_len;
7484
7485
66.5k
    if (begin == end) {
7486
0
        return begin_before_fill;
7487
0
    }
7488
7489
66.5k
    auto potential_align_after_fill = check_align(static_cast<wchar_t>(*begin));
7490
66.5k
    const auto begin_after_fill = begin;
7491
66.5k
    ++begin;
7492
7493
66.5k
    if (potential_fill_len == 1) {
7494
66.5k
        if (SCN_UNLIKELY(potential_fill[0] == '{')) {
7495
0
            handler.on_error("Invalid fill character '{' in format string");
7496
0
            return begin;
7497
0
        }
7498
66.5k
        if (potential_fill[0] == '[') {
7499
0
            return begin_before_fill;
7500
0
        }
7501
66.5k
    }
7502
7503
66.5k
    if (potential_align_after_fill == align_type::none) {
7504
66.5k
        if (potential_align_on_fill != align_type::none) {
7505
0
            handler.on_align(potential_align_on_fill);
7506
0
            return begin_after_fill;
7507
0
        }
7508
66.5k
        return begin_before_fill;
7509
66.5k
    }
7510
7511
0
    handler.on_fill(potential_fill);
7512
0
    handler.on_align(potential_align_after_fill);
7513
0
    return begin;
7514
66.5k
}
7515
7516
template <typename CharT, typename Handler>
7517
constexpr const CharT* parse_width(const CharT* begin,
7518
                                   const CharT* end,
7519
                                   Handler&& handler)
7520
311k
{
7521
311k
    SCN_EXPECT(begin != end);
7522
7523
311k
    if (*begin >= CharT{'0'} && *begin <= CharT{'9'}) {
7524
0
        int width = parse_simple_int(begin, end);
7525
0
        if (SCN_LIKELY(width != -1)) {
7526
0
            handler.on_width(width);
7527
0
        }
7528
0
        else {
7529
0
            handler.on_error("Invalid field width");
7530
0
            return begin;
7531
0
        }
7532
0
    }
7533
311k
    return begin;
7534
311k
}
impl.cpp:char const* scn::v4::detail::parse_width<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&>(char const*, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&)
Line
Count
Source
7520
89.1k
{
7521
89.1k
    SCN_EXPECT(begin != end);
7522
7523
89.1k
    if (*begin >= CharT{'0'} && *begin <= CharT{'9'}) {
7524
0
        int width = parse_simple_int(begin, end);
7525
0
        if (SCN_LIKELY(width != -1)) {
7526
0
            handler.on_width(width);
7527
0
        }
7528
0
        else {
7529
0
            handler.on_error("Invalid field width");
7530
0
            return begin;
7531
0
        }
7532
0
    }
7533
89.1k
    return begin;
7534
89.1k
}
impl.cpp:char const* scn::v4::detail::parse_width<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&>(char const*, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&)
Line
Count
Source
7520
89.2k
{
7521
89.2k
    SCN_EXPECT(begin != end);
7522
7523
89.2k
    if (*begin >= CharT{'0'} && *begin <= CharT{'9'}) {
7524
0
        int width = parse_simple_int(begin, end);
7525
0
        if (SCN_LIKELY(width != -1)) {
7526
0
            handler.on_width(width);
7527
0
        }
7528
0
        else {
7529
0
            handler.on_error("Invalid field width");
7530
0
            return begin;
7531
0
        }
7532
0
    }
7533
89.2k
    return begin;
7534
89.2k
}
impl.cpp:wchar_t const* scn::v4::detail::parse_width<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&)
Line
Count
Source
7520
66.5k
{
7521
66.5k
    SCN_EXPECT(begin != end);
7522
7523
66.5k
    if (*begin >= CharT{'0'} && *begin <= CharT{'9'}) {
7524
0
        int width = parse_simple_int(begin, end);
7525
0
        if (SCN_LIKELY(width != -1)) {
7526
0
            handler.on_width(width);
7527
0
        }
7528
0
        else {
7529
0
            handler.on_error("Invalid field width");
7530
0
            return begin;
7531
0
        }
7532
0
    }
7533
66.5k
    return begin;
7534
66.5k
}
impl.cpp:wchar_t const* scn::v4::detail::parse_width<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&)
Line
Count
Source
7520
66.5k
{
7521
66.5k
    SCN_EXPECT(begin != end);
7522
7523
66.5k
    if (*begin >= CharT{'0'} && *begin <= CharT{'9'}) {
7524
0
        int width = parse_simple_int(begin, end);
7525
0
        if (SCN_LIKELY(width != -1)) {
7526
0
            handler.on_width(width);
7527
0
        }
7528
0
        else {
7529
0
            handler.on_error("Invalid field width");
7530
0
            return begin;
7531
0
        }
7532
0
    }
7533
66.5k
    return begin;
7534
66.5k
}
7535
7536
template <typename CharT, typename Handler>
7537
constexpr const CharT* parse_precision(const CharT* begin,
7538
                                       const CharT* end,
7539
                                       Handler&& handler)
7540
0
{
7541
0
    SCN_EXPECT(begin != end);
7542
7543
0
    if (*begin >= CharT{'0'} && *begin <= CharT{'9'}) {
7544
0
        int prec = parse_simple_int(begin, end);
7545
0
        if (SCN_LIKELY(prec != -1)) {
7546
0
            handler.on_precision(prec);
7547
0
        }
7548
0
        else {
7549
0
            handler.on_error("Invalid field precision");
7550
0
            return begin;
7551
0
        }
7552
0
    }
7553
0
    return begin;
7554
0
}
Unexecuted instantiation: impl.cpp:char const* scn::v4::detail::parse_precision<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&>(char const*, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&)
Unexecuted instantiation: impl.cpp:char const* scn::v4::detail::parse_precision<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&>(char const*, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&)
Unexecuted instantiation: impl.cpp:wchar_t const* scn::v4::detail::parse_precision<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&)
Unexecuted instantiation: impl.cpp:wchar_t const* scn::v4::detail::parse_precision<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&)
7555
7556
template <typename CharT, typename SpecHandler>
7557
constexpr char32_t parse_presentation_set_code_point(const CharT*& begin,
7558
                                                     const CharT* end,
7559
                                                     SpecHandler&& handler)
7560
0
{
7561
0
    SCN_EXPECT(begin != end);
7562
7563
0
    auto len = code_point_length_by_starting_code_unit(*begin);
7564
0
    if (SCN_UNLIKELY(len == 0 || static_cast<size_t>(end - begin) < len)) {
7565
0
        handler.on_error("Invalid encoding in format string");
7566
0
        return invalid_code_point;
7567
0
    }
7568
7569
0
    const auto cp =
7570
0
        decode_code_point_exhaustive(std::basic_string_view<CharT>{begin, len});
7571
0
    if (SCN_UNLIKELY(cp >= invalid_code_point)) {
7572
0
        handler.on_error("Invalid encoding in format string");
7573
0
        return invalid_code_point;
7574
0
    }
7575
7576
0
    begin += len;
7577
0
    return cp;
7578
0
}
Unexecuted instantiation: char32_t scn::v4::detail::parse_presentation_set_code_point<char, scn::v4::impl::nonascii_specs_handler&>(char const*&, char const*, scn::v4::impl::nonascii_specs_handler&)
Unexecuted instantiation: char32_t scn::v4::detail::parse_presentation_set_code_point<wchar_t, scn::v4::impl::nonascii_specs_handler&>(wchar_t const*&, wchar_t const*, scn::v4::impl::nonascii_specs_handler&)
Unexecuted instantiation: impl.cpp:char32_t scn::v4::detail::parse_presentation_set_code_point<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&>(char const*&, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&)
Unexecuted instantiation: impl.cpp:char32_t scn::v4::detail::parse_presentation_set_code_point<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&>(char const*&, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&)
Unexecuted instantiation: impl.cpp:char32_t scn::v4::detail::parse_presentation_set_code_point<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&>(wchar_t const*&, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&)
Unexecuted instantiation: impl.cpp:char32_t scn::v4::detail::parse_presentation_set_code_point<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&>(wchar_t const*&, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&)
7579
7580
template <typename CharT, typename SpecHandler>
7581
constexpr void parse_presentation_set_literal(const CharT*& begin,
7582
                                              const CharT* end,
7583
                                              SpecHandler&& handler)
7584
0
{
7585
0
    SCN_EXPECT(begin != end);
7586
7587
0
    auto cp_first = parse_presentation_set_code_point(begin, end, handler);
7588
0
    if (SCN_UNLIKELY(cp_first >= invalid_code_point)) {
7589
0
        return;
7590
0
    }
7591
7592
0
    if (begin != end && *begin == CharT{'-'} && (begin + 1) != end &&
7593
0
        *(begin + 1) != CharT{']'}) {
7594
0
        ++begin;
7595
7596
0
        auto cp_second = parse_presentation_set_code_point(begin, end, handler);
7597
0
        if (SCN_UNLIKELY(cp_second >= invalid_code_point)) {
7598
0
            return;
7599
0
        }
7600
7601
0
        if (SCN_UNLIKELY(cp_second < cp_first)) {
7602
            // clang-format off
7603
0
            handler.on_error("Invalid range in [character set] format string argument: Range end before the beginning");
7604
            // clang-format on
7605
0
            return;
7606
0
        }
7607
7608
0
        handler.on_charset_range(cp_first, cp_second + 1);
7609
0
        return;
7610
0
    }
7611
7612
0
    handler.on_charset_single(cp_first);
7613
0
}
Unexecuted instantiation: void scn::v4::detail::parse_presentation_set_literal<char, scn::v4::impl::nonascii_specs_handler&>(char const*&, char const*, scn::v4::impl::nonascii_specs_handler&)
Unexecuted instantiation: void scn::v4::detail::parse_presentation_set_literal<wchar_t, scn::v4::impl::nonascii_specs_handler&>(wchar_t const*&, wchar_t const*, scn::v4::impl::nonascii_specs_handler&)
Unexecuted instantiation: impl.cpp:void scn::v4::detail::parse_presentation_set_literal<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&>(char const*&, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&)
Unexecuted instantiation: impl.cpp:void scn::v4::detail::parse_presentation_set_literal<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&>(char const*&, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&)
Unexecuted instantiation: impl.cpp:void scn::v4::detail::parse_presentation_set_literal<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&>(wchar_t const*&, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&)
Unexecuted instantiation: impl.cpp:void scn::v4::detail::parse_presentation_set_literal<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&>(wchar_t const*&, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&)
7614
7615
template <typename CharT, typename SpecHandler>
7616
constexpr std::basic_string_view<CharT> parse_presentation_set(
7617
    const CharT*& begin,
7618
    const CharT* end,
7619
    SpecHandler&& handler)
7620
0
{
7621
0
    SCN_EXPECT(begin != end);
7622
0
    SCN_EXPECT(*begin == CharT{'['});
7623
7624
0
    auto start = begin;
7625
0
    ++begin;
7626
7627
0
    if (SCN_UNLIKELY(begin == end)) {
7628
        // clang-format off
7629
0
        handler.on_error("Unexpected end of [character set] specifier in format string");
7630
        // clang-format on
7631
0
        return {};
7632
0
    }
7633
0
    if (*begin == CharT{'^'}) {
7634
0
        handler.on_charset_inverted();
7635
0
        ++begin;
7636
0
        if (SCN_UNLIKELY(begin == end)) {
7637
            // clang-format off
7638
0
            handler.on_error("Unexpected end of [character set] specifier in format string");
7639
            // clang-format on
7640
0
            return {};
7641
0
        }
7642
0
        if (*begin == CharT{']'}) {
7643
0
            handler.on_charset_single(char32_t{']'});
7644
0
            ++begin;
7645
0
        }
7646
0
    }
7647
0
    else if (*begin == CharT{']'}) {
7648
0
        return {start, static_cast<size_t>(std::distance(start, ++begin))};
7649
0
    }
7650
7651
0
    while (begin != end) {
7652
0
        if (SCN_UNLIKELY(!handler.get_error())) {
7653
0
            break;
7654
0
        }
7655
7656
0
        if (*begin == CharT{']'}) {
7657
0
            return {start, static_cast<size_t>(std::distance(start, ++begin))};
7658
0
        }
7659
7660
0
        parse_presentation_set_literal(begin, end, handler);
7661
0
    }
7662
7663
0
    SCN_UNLIKELY_ATTR
7664
0
    handler.on_error("Invalid [character set] specifier in format string");
7665
0
    return {};
7666
0
}
Unexecuted instantiation: std::__1::basic_string_view<char, std::__1::char_traits<char> > scn::v4::detail::parse_presentation_set<char, scn::v4::impl::nonascii_specs_handler&>(char const*&, char const*, scn::v4::impl::nonascii_specs_handler&)
Unexecuted instantiation: std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > scn::v4::detail::parse_presentation_set<wchar_t, scn::v4::impl::nonascii_specs_handler&>(wchar_t const*&, wchar_t const*, scn::v4::impl::nonascii_specs_handler&)
Unexecuted instantiation: impl.cpp:std::__1::basic_string_view<char, std::__1::char_traits<char> > scn::v4::detail::parse_presentation_set<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&>(char const*&, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&)
Unexecuted instantiation: impl.cpp:std::__1::basic_string_view<char, std::__1::char_traits<char> > scn::v4::detail::parse_presentation_set<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&>(char const*&, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&)
Unexecuted instantiation: impl.cpp:std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > scn::v4::detail::parse_presentation_set<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&>(wchar_t const*&, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&)
Unexecuted instantiation: impl.cpp:std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > scn::v4::detail::parse_presentation_set<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&>(wchar_t const*&, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&)
7667
7668
template <typename CharT, typename SpecHandler>
7669
constexpr const CharT* parse_presentation_regex(const CharT*& begin,
7670
                                                const CharT* end,
7671
                                                SpecHandler&& handler)
7672
0
{
7673
0
#if !SCN_DISABLE_REGEX
7674
0
    SCN_EXPECT(begin != end);
7675
0
    SCN_EXPECT(*begin == CharT{'/'});
7676
7677
    if constexpr (!SCN_REGEX_SUPPORTS_WIDE_STRINGS &&
7678
0
                  std::is_same_v<CharT, wchar_t>) {
7679
0
        handler.on_error("Regex backend doesn't support wide strings as input");
7680
0
        return begin;
7681
0
    }
7682
7683
0
    auto start = begin;
7684
0
    ++begin;
7685
7686
0
    if (SCN_UNLIKELY(begin == end)) {
7687
0
        handler.on_error("Unexpected end of regex in format string");
7688
0
        return begin;
7689
0
    }
7690
7691
0
    handler.on_type(presentation_type::regex);
7692
0
    for (; begin != end; ++begin) {
7693
0
        if (*begin == CharT{'/'}) {
7694
0
            if (*(begin - 1) != CharT{'\\'}) {
7695
0
                break;
7696
0
            }
7697
0
            else {
7698
0
                handler.on_type(presentation_type::regex_escaped);
7699
0
            }
7700
0
        }
7701
0
    }
7702
0
    if (SCN_UNLIKELY(begin == end)) {
7703
0
        handler.on_error("Unexpected end of regex in format string");
7704
0
        return begin;
7705
0
    }
7706
7707
0
    auto regex_end = begin;
7708
0
    auto regex_pattern = make_string_view_from_pointers(start + 1, regex_end);
7709
0
    if (SCN_UNLIKELY(regex_pattern.empty())) {
7710
0
        handler.on_error("Invalid (empty) regex in format string");
7711
0
        return begin;
7712
0
    }
7713
0
    handler.on_regex_pattern(regex_pattern);
7714
0
    ++begin;
7715
7716
0
    if (SCN_UNLIKELY(begin == end)) {
7717
0
        handler.on_error("Unexpected end of regex in format string");
7718
0
        return begin;
7719
0
    }
7720
7721
0
    regex_flags flags{regex_flags::none};
7722
0
    constexpr std::array<std::pair<char, regex_flags>, 4> flag_map{
7723
0
        {{'m', regex_flags::multiline},
7724
0
         {'s', regex_flags::singleline},
7725
0
         {'i', regex_flags::nocase},
7726
0
         {'n', regex_flags::nocapture}}};
7727
0
    for (; begin != end; ++begin) {
7728
0
        if (*begin == CharT{'}'}) {
7729
0
            break;
7730
0
        }
7731
0
        bool found_flag = false;
7732
0
        for (auto flag : flag_map) {
7733
0
            if (static_cast<CharT>(flag.first) != *begin) {
7734
0
                continue;
7735
0
            }
7736
0
            if ((flags & flag.second) != regex_flags::none) {
7737
0
                handler.on_error("Flag set multiple times in regex");
7738
0
                return begin;
7739
0
            }
7740
#if SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_STD
7741
            if (*begin == CharT{'s'}) {
7742
                // clang-format off
7743
                handler.on_error("/s flag for regex isn't supported by regex backend");
7744
                // clang-format on
7745
            }
7746
#if !SCN_HAS_STD_REGEX_MULTILINE
7747
            if (*begin == CharT{'m'}) {
7748
                // clang-format off
7749
                handler.on_error("/m flag for regex isn't supported by regex backend");
7750
                // clang-format on
7751
            }
7752
#endif
7753
#endif
7754
0
            flags |= flag.second;
7755
0
            found_flag = true;
7756
0
            break;
7757
0
        }
7758
0
        if (!found_flag) {
7759
0
            handler.on_error("Invalid flag in regex");
7760
0
            return begin;
7761
0
        }
7762
0
    }
7763
0
    handler.on_regex_flags(flags);
7764
7765
0
    if (SCN_UNLIKELY(begin == end)) {
7766
0
        handler.on_error("Unexpected end of regex in format string");
7767
0
        return begin;
7768
0
    }
7769
7770
0
    return begin;
7771
#else
7772
    SCN_UNUSED(begin);
7773
    SCN_UNUSED(end);
7774
    handler.on_error("Regular expression support is disabled");
7775
    return {};
7776
#endif
7777
0
}
Unexecuted instantiation: impl.cpp:char const* scn::v4::detail::parse_presentation_regex<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&>(char const*&, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&)
Unexecuted instantiation: impl.cpp:char const* scn::v4::detail::parse_presentation_regex<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&>(char const*&, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&)
Unexecuted instantiation: impl.cpp:wchar_t const* scn::v4::detail::parse_presentation_regex<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&>(wchar_t const*&, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&)
Unexecuted instantiation: impl.cpp:wchar_t const* scn::v4::detail::parse_presentation_regex<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&>(wchar_t const*&, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&)
7778
7779
template <typename CharT, typename SpecHandler>
7780
constexpr const CharT* parse_format_specs(const CharT* begin,
7781
                                          const CharT* end,
7782
                                          SpecHandler&& handler)
7783
1.01M
{
7784
1.01M
    auto do_presentation = [&]() -> const CharT* {
7785
849k
        if (*begin == CharT{'['}) {
7786
0
            auto set = parse_presentation_set(begin, end, handler);
7787
0
            if (SCN_UNLIKELY(set.size() <= 2)) {
7788
                // clang-format off
7789
0
                handler.on_error("Invalid (empty) [character set] specifier in format string");
7790
                // clang-format on
7791
0
                return begin;
7792
0
            }
7793
0
            handler.on_character_set_string(set);
7794
0
            return begin;
7795
0
        }
7796
849k
        if (*begin == CharT{'/'}) {
7797
0
            return parse_presentation_regex(begin, end, handler);
7798
0
        }
7799
849k
        presentation_type type = parse_presentation_type(*begin++);
7800
849k
        if (SCN_UNLIKELY(type == presentation_type::none)) {
7801
99.0k
            handler.on_error("Invalid type specifier in format string");
7802
99.0k
            return begin;
7803
99.0k
        }
7804
750k
        handler.on_type(type);
7805
750k
        return begin;
7806
849k
    };
impl.cpp:scn::v4::detail::parse_format_specs<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&>(char const*, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&)::{lambda()#1}::operator()() const
Line
Count
Source
7784
290k
    auto do_presentation = [&]() -> const CharT* {
7785
290k
        if (*begin == CharT{'['}) {
7786
0
            auto set = parse_presentation_set(begin, end, handler);
7787
0
            if (SCN_UNLIKELY(set.size() <= 2)) {
7788
                // clang-format off
7789
0
                handler.on_error("Invalid (empty) [character set] specifier in format string");
7790
                // clang-format on
7791
0
                return begin;
7792
0
            }
7793
0
            handler.on_character_set_string(set);
7794
0
            return begin;
7795
0
        }
7796
290k
        if (*begin == CharT{'/'}) {
7797
0
            return parse_presentation_regex(begin, end, handler);
7798
0
        }
7799
290k
        presentation_type type = parse_presentation_type(*begin++);
7800
290k
        if (SCN_UNLIKELY(type == presentation_type::none)) {
7801
16.5k
            handler.on_error("Invalid type specifier in format string");
7802
16.5k
            return begin;
7803
16.5k
        }
7804
273k
        handler.on_type(type);
7805
273k
        return begin;
7806
290k
    };
impl.cpp:scn::v4::detail::parse_format_specs<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&>(char const*, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&)::{lambda()#1}::operator()() const
Line
Count
Source
7784
290k
    auto do_presentation = [&]() -> const CharT* {
7785
290k
        if (*begin == CharT{'['}) {
7786
0
            auto set = parse_presentation_set(begin, end, handler);
7787
0
            if (SCN_UNLIKELY(set.size() <= 2)) {
7788
                // clang-format off
7789
0
                handler.on_error("Invalid (empty) [character set] specifier in format string");
7790
                // clang-format on
7791
0
                return begin;
7792
0
            }
7793
0
            handler.on_character_set_string(set);
7794
0
            return begin;
7795
0
        }
7796
290k
        if (*begin == CharT{'/'}) {
7797
0
            return parse_presentation_regex(begin, end, handler);
7798
0
        }
7799
290k
        presentation_type type = parse_presentation_type(*begin++);
7800
290k
        if (SCN_UNLIKELY(type == presentation_type::none)) {
7801
16.5k
            handler.on_error("Invalid type specifier in format string");
7802
16.5k
            return begin;
7803
16.5k
        }
7804
274k
        handler.on_type(type);
7805
274k
        return begin;
7806
290k
    };
impl.cpp:scn::v4::detail::parse_format_specs<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&)::{lambda()#1}::operator()() const
Line
Count
Source
7784
134k
    auto do_presentation = [&]() -> const CharT* {
7785
134k
        if (*begin == CharT{'['}) {
7786
0
            auto set = parse_presentation_set(begin, end, handler);
7787
0
            if (SCN_UNLIKELY(set.size() <= 2)) {
7788
                // clang-format off
7789
0
                handler.on_error("Invalid (empty) [character set] specifier in format string");
7790
                // clang-format on
7791
0
                return begin;
7792
0
            }
7793
0
            handler.on_character_set_string(set);
7794
0
            return begin;
7795
0
        }
7796
134k
        if (*begin == CharT{'/'}) {
7797
0
            return parse_presentation_regex(begin, end, handler);
7798
0
        }
7799
134k
        presentation_type type = parse_presentation_type(*begin++);
7800
134k
        if (SCN_UNLIKELY(type == presentation_type::none)) {
7801
33.0k
            handler.on_error("Invalid type specifier in format string");
7802
33.0k
            return begin;
7803
33.0k
        }
7804
100k
        handler.on_type(type);
7805
100k
        return begin;
7806
134k
    };
impl.cpp:scn::v4::detail::parse_format_specs<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&)::{lambda()#1}::operator()() const
Line
Count
Source
7784
134k
    auto do_presentation = [&]() -> const CharT* {
7785
134k
        if (*begin == CharT{'['}) {
7786
0
            auto set = parse_presentation_set(begin, end, handler);
7787
0
            if (SCN_UNLIKELY(set.size() <= 2)) {
7788
                // clang-format off
7789
0
                handler.on_error("Invalid (empty) [character set] specifier in format string");
7790
                // clang-format on
7791
0
                return begin;
7792
0
            }
7793
0
            handler.on_character_set_string(set);
7794
0
            return begin;
7795
0
        }
7796
134k
        if (*begin == CharT{'/'}) {
7797
0
            return parse_presentation_regex(begin, end, handler);
7798
0
        }
7799
134k
        presentation_type type = parse_presentation_type(*begin++);
7800
134k
        if (SCN_UNLIKELY(type == presentation_type::none)) {
7801
33.0k
            handler.on_error("Invalid type specifier in format string");
7802
33.0k
            return begin;
7803
33.0k
        }
7804
100k
        handler.on_type(type);
7805
100k
        return begin;
7806
134k
    };
7807
7808
1.01M
    if (end - begin > 1 && *(begin + 1) == CharT{'}'} &&
7809
1.01M
        is_ascii_letter(*begin) && *begin != CharT{'L'}) {
7810
700k
        return do_presentation();
7811
700k
    }
7812
7813
311k
    if (SCN_UNLIKELY(begin == end)) {
7814
0
        handler.on_error("Unexpected end of format string");
7815
0
        return begin;
7816
0
    }
7817
7818
311k
    begin = parse_align(begin, end, handler);
7819
311k
    if (SCN_UNLIKELY(begin == end)) {
7820
0
        handler.on_error("Unexpected end of format string");
7821
0
        return begin;
7822
0
    }
7823
7824
311k
    begin = parse_width(begin, end, handler);
7825
311k
    if (SCN_UNLIKELY(begin == end)) {
7826
0
        handler.on_error("Unexpected end of format string");
7827
0
        return begin;
7828
0
    }
7829
7830
311k
    if (*begin == CharT{'.'}) {
7831
0
        ++begin;
7832
0
        if (SCN_UNLIKELY(begin == end)) {
7833
0
            handler.on_error("Unexpected end of format string");
7834
0
            return begin;
7835
0
        }
7836
0
        begin = parse_precision(begin, end, handler);
7837
0
        if (SCN_UNLIKELY(begin == end)) {
7838
0
            handler.on_error("Unexpected end of format string");
7839
0
            return begin;
7840
0
        }
7841
0
    }
7842
7843
311k
    if (*begin == CharT{'L'}) {
7844
162k
        handler.on_localized();
7845
162k
        ++begin;
7846
162k
    }
7847
311k
    if (SCN_UNLIKELY(begin == end)) {
7848
0
        handler.on_error("Unexpected end of format string");
7849
0
        return begin;
7850
0
    }
7851
7852
311k
    if (begin != end && *begin != CharT{'}'}) {
7853
148k
        do_presentation();
7854
148k
    }
7855
311k
    if (SCN_UNLIKELY(begin == end)) {
7856
0
        handler.on_error("Unexpected end of format string");
7857
0
        return begin;
7858
0
    }
7859
7860
311k
    return begin;
7861
311k
}
impl.cpp:char const* scn::v4::detail::parse_format_specs<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&>(char const*, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&)
Line
Count
Source
7783
354k
{
7784
354k
    auto do_presentation = [&]() -> const CharT* {
7785
354k
        if (*begin == CharT{'['}) {
7786
354k
            auto set = parse_presentation_set(begin, end, handler);
7787
354k
            if (SCN_UNLIKELY(set.size() <= 2)) {
7788
                // clang-format off
7789
354k
                handler.on_error("Invalid (empty) [character set] specifier in format string");
7790
                // clang-format on
7791
354k
                return begin;
7792
354k
            }
7793
354k
            handler.on_character_set_string(set);
7794
354k
            return begin;
7795
354k
        }
7796
354k
        if (*begin == CharT{'/'}) {
7797
354k
            return parse_presentation_regex(begin, end, handler);
7798
354k
        }
7799
354k
        presentation_type type = parse_presentation_type(*begin++);
7800
354k
        if (SCN_UNLIKELY(type == presentation_type::none)) {
7801
354k
            handler.on_error("Invalid type specifier in format string");
7802
354k
            return begin;
7803
354k
        }
7804
354k
        handler.on_type(type);
7805
354k
        return begin;
7806
354k
    };
7807
7808
354k
    if (end - begin > 1 && *(begin + 1) == CharT{'}'} &&
7809
354k
        is_ascii_letter(*begin) && *begin != CharT{'L'}) {
7810
265k
        return do_presentation();
7811
265k
    }
7812
7813
89.1k
    if (SCN_UNLIKELY(begin == end)) {
7814
0
        handler.on_error("Unexpected end of format string");
7815
0
        return begin;
7816
0
    }
7817
7818
89.1k
    begin = parse_align(begin, end, handler);
7819
89.1k
    if (SCN_UNLIKELY(begin == end)) {
7820
0
        handler.on_error("Unexpected end of format string");
7821
0
        return begin;
7822
0
    }
7823
7824
89.1k
    begin = parse_width(begin, end, handler);
7825
89.1k
    if (SCN_UNLIKELY(begin == end)) {
7826
0
        handler.on_error("Unexpected end of format string");
7827
0
        return begin;
7828
0
    }
7829
7830
89.1k
    if (*begin == CharT{'.'}) {
7831
0
        ++begin;
7832
0
        if (SCN_UNLIKELY(begin == end)) {
7833
0
            handler.on_error("Unexpected end of format string");
7834
0
            return begin;
7835
0
        }
7836
0
        begin = parse_precision(begin, end, handler);
7837
0
        if (SCN_UNLIKELY(begin == end)) {
7838
0
            handler.on_error("Unexpected end of format string");
7839
0
            return begin;
7840
0
        }
7841
0
    }
7842
7843
89.1k
    if (*begin == CharT{'L'}) {
7844
64.4k
        handler.on_localized();
7845
64.4k
        ++begin;
7846
64.4k
    }
7847
89.1k
    if (SCN_UNLIKELY(begin == end)) {
7848
0
        handler.on_error("Unexpected end of format string");
7849
0
        return begin;
7850
0
    }
7851
7852
89.1k
    if (begin != end && *begin != CharT{'}'}) {
7853
24.7k
        do_presentation();
7854
24.7k
    }
7855
89.1k
    if (SCN_UNLIKELY(begin == end)) {
7856
0
        handler.on_error("Unexpected end of format string");
7857
0
        return begin;
7858
0
    }
7859
7860
89.1k
    return begin;
7861
89.1k
}
impl.cpp:char const* scn::v4::detail::parse_format_specs<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&>(char const*, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&)
Line
Count
Source
7783
355k
{
7784
355k
    auto do_presentation = [&]() -> const CharT* {
7785
355k
        if (*begin == CharT{'['}) {
7786
355k
            auto set = parse_presentation_set(begin, end, handler);
7787
355k
            if (SCN_UNLIKELY(set.size() <= 2)) {
7788
                // clang-format off
7789
355k
                handler.on_error("Invalid (empty) [character set] specifier in format string");
7790
                // clang-format on
7791
355k
                return begin;
7792
355k
            }
7793
355k
            handler.on_character_set_string(set);
7794
355k
            return begin;
7795
355k
        }
7796
355k
        if (*begin == CharT{'/'}) {
7797
355k
            return parse_presentation_regex(begin, end, handler);
7798
355k
        }
7799
355k
        presentation_type type = parse_presentation_type(*begin++);
7800
355k
        if (SCN_UNLIKELY(type == presentation_type::none)) {
7801
355k
            handler.on_error("Invalid type specifier in format string");
7802
355k
            return begin;
7803
355k
        }
7804
355k
        handler.on_type(type);
7805
355k
        return begin;
7806
355k
    };
7807
7808
355k
    if (end - begin > 1 && *(begin + 1) == CharT{'}'} &&
7809
355k
        is_ascii_letter(*begin) && *begin != CharT{'L'}) {
7810
266k
        return do_presentation();
7811
266k
    }
7812
7813
89.2k
    if (SCN_UNLIKELY(begin == end)) {
7814
0
        handler.on_error("Unexpected end of format string");
7815
0
        return begin;
7816
0
    }
7817
7818
89.2k
    begin = parse_align(begin, end, handler);
7819
89.2k
    if (SCN_UNLIKELY(begin == end)) {
7820
0
        handler.on_error("Unexpected end of format string");
7821
0
        return begin;
7822
0
    }
7823
7824
89.2k
    begin = parse_width(begin, end, handler);
7825
89.2k
    if (SCN_UNLIKELY(begin == end)) {
7826
0
        handler.on_error("Unexpected end of format string");
7827
0
        return begin;
7828
0
    }
7829
7830
89.2k
    if (*begin == CharT{'.'}) {
7831
0
        ++begin;
7832
0
        if (SCN_UNLIKELY(begin == end)) {
7833
0
            handler.on_error("Unexpected end of format string");
7834
0
            return begin;
7835
0
        }
7836
0
        begin = parse_precision(begin, end, handler);
7837
0
        if (SCN_UNLIKELY(begin == end)) {
7838
0
            handler.on_error("Unexpected end of format string");
7839
0
            return begin;
7840
0
        }
7841
0
    }
7842
7843
89.2k
    if (*begin == CharT{'L'}) {
7844
64.4k
        handler.on_localized();
7845
64.4k
        ++begin;
7846
64.4k
    }
7847
89.2k
    if (SCN_UNLIKELY(begin == end)) {
7848
0
        handler.on_error("Unexpected end of format string");
7849
0
        return begin;
7850
0
    }
7851
7852
89.2k
    if (begin != end && *begin != CharT{'}'}) {
7853
24.7k
        do_presentation();
7854
24.7k
    }
7855
89.2k
    if (SCN_UNLIKELY(begin == end)) {
7856
0
        handler.on_error("Unexpected end of format string");
7857
0
        return begin;
7858
0
    }
7859
7860
89.2k
    return begin;
7861
89.2k
}
impl.cpp:wchar_t const* scn::v4::detail::parse_format_specs<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&)
Line
Count
Source
7783
151k
{
7784
151k
    auto do_presentation = [&]() -> const CharT* {
7785
151k
        if (*begin == CharT{'['}) {
7786
151k
            auto set = parse_presentation_set(begin, end, handler);
7787
151k
            if (SCN_UNLIKELY(set.size() <= 2)) {
7788
                // clang-format off
7789
151k
                handler.on_error("Invalid (empty) [character set] specifier in format string");
7790
                // clang-format on
7791
151k
                return begin;
7792
151k
            }
7793
151k
            handler.on_character_set_string(set);
7794
151k
            return begin;
7795
151k
        }
7796
151k
        if (*begin == CharT{'/'}) {
7797
151k
            return parse_presentation_regex(begin, end, handler);
7798
151k
        }
7799
151k
        presentation_type type = parse_presentation_type(*begin++);
7800
151k
        if (SCN_UNLIKELY(type == presentation_type::none)) {
7801
151k
            handler.on_error("Invalid type specifier in format string");
7802
151k
            return begin;
7803
151k
        }
7804
151k
        handler.on_type(type);
7805
151k
        return begin;
7806
151k
    };
7807
7808
151k
    if (end - begin > 1 && *(begin + 1) == CharT{'}'} &&
7809
151k
        is_ascii_letter(*begin) && *begin != CharT{'L'}) {
7810
84.4k
        return do_presentation();
7811
84.4k
    }
7812
7813
66.5k
    if (SCN_UNLIKELY(begin == end)) {
7814
0
        handler.on_error("Unexpected end of format string");
7815
0
        return begin;
7816
0
    }
7817
7818
66.5k
    begin = parse_align(begin, end, handler);
7819
66.5k
    if (SCN_UNLIKELY(begin == end)) {
7820
0
        handler.on_error("Unexpected end of format string");
7821
0
        return begin;
7822
0
    }
7823
7824
66.5k
    begin = parse_width(begin, end, handler);
7825
66.5k
    if (SCN_UNLIKELY(begin == end)) {
7826
0
        handler.on_error("Unexpected end of format string");
7827
0
        return begin;
7828
0
    }
7829
7830
66.5k
    if (*begin == CharT{'.'}) {
7831
0
        ++begin;
7832
0
        if (SCN_UNLIKELY(begin == end)) {
7833
0
            handler.on_error("Unexpected end of format string");
7834
0
            return begin;
7835
0
        }
7836
0
        begin = parse_precision(begin, end, handler);
7837
0
        if (SCN_UNLIKELY(begin == end)) {
7838
0
            handler.on_error("Unexpected end of format string");
7839
0
            return begin;
7840
0
        }
7841
0
    }
7842
7843
66.5k
    if (*begin == CharT{'L'}) {
7844
16.9k
        handler.on_localized();
7845
16.9k
        ++begin;
7846
16.9k
    }
7847
66.5k
    if (SCN_UNLIKELY(begin == end)) {
7848
0
        handler.on_error("Unexpected end of format string");
7849
0
        return begin;
7850
0
    }
7851
7852
66.5k
    if (begin != end && *begin != CharT{'}'}) {
7853
49.5k
        do_presentation();
7854
49.5k
    }
7855
66.5k
    if (SCN_UNLIKELY(begin == end)) {
7856
0
        handler.on_error("Unexpected end of format string");
7857
0
        return begin;
7858
0
    }
7859
7860
66.5k
    return begin;
7861
66.5k
}
impl.cpp:wchar_t const* scn::v4::detail::parse_format_specs<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&)
Line
Count
Source
7783
151k
{
7784
151k
    auto do_presentation = [&]() -> const CharT* {
7785
151k
        if (*begin == CharT{'['}) {
7786
151k
            auto set = parse_presentation_set(begin, end, handler);
7787
151k
            if (SCN_UNLIKELY(set.size() <= 2)) {
7788
                // clang-format off
7789
151k
                handler.on_error("Invalid (empty) [character set] specifier in format string");
7790
                // clang-format on
7791
151k
                return begin;
7792
151k
            }
7793
151k
            handler.on_character_set_string(set);
7794
151k
            return begin;
7795
151k
        }
7796
151k
        if (*begin == CharT{'/'}) {
7797
151k
            return parse_presentation_regex(begin, end, handler);
7798
151k
        }
7799
151k
        presentation_type type = parse_presentation_type(*begin++);
7800
151k
        if (SCN_UNLIKELY(type == presentation_type::none)) {
7801
151k
            handler.on_error("Invalid type specifier in format string");
7802
151k
            return begin;
7803
151k
        }
7804
151k
        handler.on_type(type);
7805
151k
        return begin;
7806
151k
    };
7807
7808
151k
    if (end - begin > 1 && *(begin + 1) == CharT{'}'} &&
7809
151k
        is_ascii_letter(*begin) && *begin != CharT{'L'}) {
7810
84.4k
        return do_presentation();
7811
84.4k
    }
7812
7813
66.5k
    if (SCN_UNLIKELY(begin == end)) {
7814
0
        handler.on_error("Unexpected end of format string");
7815
0
        return begin;
7816
0
    }
7817
7818
66.5k
    begin = parse_align(begin, end, handler);
7819
66.5k
    if (SCN_UNLIKELY(begin == end)) {
7820
0
        handler.on_error("Unexpected end of format string");
7821
0
        return begin;
7822
0
    }
7823
7824
66.5k
    begin = parse_width(begin, end, handler);
7825
66.5k
    if (SCN_UNLIKELY(begin == end)) {
7826
0
        handler.on_error("Unexpected end of format string");
7827
0
        return begin;
7828
0
    }
7829
7830
66.5k
    if (*begin == CharT{'.'}) {
7831
0
        ++begin;
7832
0
        if (SCN_UNLIKELY(begin == end)) {
7833
0
            handler.on_error("Unexpected end of format string");
7834
0
            return begin;
7835
0
        }
7836
0
        begin = parse_precision(begin, end, handler);
7837
0
        if (SCN_UNLIKELY(begin == end)) {
7838
0
            handler.on_error("Unexpected end of format string");
7839
0
            return begin;
7840
0
        }
7841
0
    }
7842
7843
66.5k
    if (*begin == CharT{'L'}) {
7844
16.9k
        handler.on_localized();
7845
16.9k
        ++begin;
7846
16.9k
    }
7847
66.5k
    if (SCN_UNLIKELY(begin == end)) {
7848
0
        handler.on_error("Unexpected end of format string");
7849
0
        return begin;
7850
0
    }
7851
7852
66.5k
    if (begin != end && *begin != CharT{'}'}) {
7853
49.5k
        do_presentation();
7854
49.5k
    }
7855
66.5k
    if (SCN_UNLIKELY(begin == end)) {
7856
0
        handler.on_error("Unexpected end of format string");
7857
0
        return begin;
7858
0
    }
7859
7860
66.5k
    return begin;
7861
66.5k
}
7862
7863
template <typename CharT, typename Handler>
7864
constexpr const CharT* parse_replacement_field(const CharT* begin,
7865
                                               const CharT* end,
7866
                                               Handler& handler)
7867
1.01M
{
7868
1.01M
    struct id_adapter {
7869
1.01M
        constexpr void operator()()
7870
1.01M
        {
7871
1.01M
            arg_id = handler.on_arg_id();
7872
1.01M
        }
impl.cpp:scn::v4::detail::parse_replacement_field<char, scn::v4::(anonymous namespace)::format_handler<true, char> >(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<true, char>&)::id_adapter::operator()()
Line
Count
Source
7870
354k
        {
7871
354k
            arg_id = handler.on_arg_id();
7872
354k
        }
impl.cpp:scn::v4::detail::parse_replacement_field<char, scn::v4::(anonymous namespace)::format_handler<false, char> >(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<false, char>&)::id_adapter::operator()()
Line
Count
Source
7870
355k
        {
7871
355k
            arg_id = handler.on_arg_id();
7872
355k
        }
impl.cpp:scn::v4::detail::parse_replacement_field<wchar_t, scn::v4::(anonymous namespace)::format_handler<true, wchar_t> >(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<true, wchar_t>&)::id_adapter::operator()()
Line
Count
Source
7870
151k
        {
7871
151k
            arg_id = handler.on_arg_id();
7872
151k
        }
impl.cpp:scn::v4::detail::parse_replacement_field<wchar_t, scn::v4::(anonymous namespace)::format_handler<false, wchar_t> >(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<false, wchar_t>&)::id_adapter::operator()()
Line
Count
Source
7870
151k
        {
7871
151k
            arg_id = handler.on_arg_id();
7872
151k
        }
7873
1.01M
        constexpr void operator()(std::size_t id)
7874
1.01M
        {
7875
0
            arg_id = handler.on_arg_id(id);
7876
0
        }
Unexecuted instantiation: impl.cpp:scn::v4::detail::parse_replacement_field<char, scn::v4::(anonymous namespace)::format_handler<true, char> >(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<true, char>&)::id_adapter::operator()(unsigned long)
Unexecuted instantiation: impl.cpp:scn::v4::detail::parse_replacement_field<char, scn::v4::(anonymous namespace)::format_handler<false, char> >(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<false, char>&)::id_adapter::operator()(unsigned long)
Unexecuted instantiation: impl.cpp:scn::v4::detail::parse_replacement_field<wchar_t, scn::v4::(anonymous namespace)::format_handler<true, wchar_t> >(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<true, wchar_t>&)::id_adapter::operator()(unsigned long)
Unexecuted instantiation: impl.cpp:scn::v4::detail::parse_replacement_field<wchar_t, scn::v4::(anonymous namespace)::format_handler<false, wchar_t> >(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<false, wchar_t>&)::id_adapter::operator()(unsigned long)
7877
7878
1.01M
        constexpr void on_error(const char* msg)
7879
1.01M
        {
7880
0
            SCN_UNLIKELY_ATTR
7881
0
            handler.on_error(msg);
7882
0
        }
Unexecuted instantiation: impl.cpp:scn::v4::detail::parse_replacement_field<char, scn::v4::(anonymous namespace)::format_handler<true, char> >(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<true, char>&)::id_adapter::on_error(char const*)
Unexecuted instantiation: impl.cpp:scn::v4::detail::parse_replacement_field<char, scn::v4::(anonymous namespace)::format_handler<false, char> >(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<false, char>&)::id_adapter::on_error(char const*)
Unexecuted instantiation: impl.cpp:scn::v4::detail::parse_replacement_field<wchar_t, scn::v4::(anonymous namespace)::format_handler<true, wchar_t> >(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<true, wchar_t>&)::id_adapter::on_error(char const*)
Unexecuted instantiation: impl.cpp:scn::v4::detail::parse_replacement_field<wchar_t, scn::v4::(anonymous namespace)::format_handler<false, wchar_t> >(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<false, wchar_t>&)::id_adapter::on_error(char const*)
7883
7884
1.01M
        Handler& handler;
7885
1.01M
        std::size_t arg_id;
7886
1.01M
    };
7887
7888
1.01M
    ++begin;
7889
1.01M
    if (SCN_UNLIKELY(begin == end)) {
7890
0
        handler.on_error("Unexpected end of replacement field");
7891
0
        return begin;
7892
0
    }
7893
7894
1.01M
    if (*begin == CharT{'}'}) {
7895
0
        handler.on_replacement_field(handler.on_arg_id(), begin);
7896
0
    }
7897
1.01M
    else if (*begin == CharT{'{'}) {
7898
0
        handler.on_literal_text(begin, begin + 1);
7899
0
    }
7900
1.01M
    else {
7901
1.01M
        auto adapter = id_adapter{handler, 0};
7902
1.01M
        begin = parse_arg_id(begin, end, adapter);
7903
7904
1.01M
        if (SCN_UNLIKELY(begin == end)) {
7905
0
            handler.on_error("Missing '}' in format string");
7906
0
            return begin;
7907
0
        }
7908
7909
1.01M
        if (*begin == CharT{'}'}) {
7910
0
            handler.on_replacement_field(adapter.arg_id, begin);
7911
0
        }
7912
1.01M
        else if (*begin == CharT{':'}) {
7913
1.01M
            if (SCN_UNLIKELY(begin + 1 == end)) {
7914
0
                handler.on_error("Unexpected end of replacement field");
7915
0
                return begin;
7916
0
            }
7917
1.01M
            begin = handler.on_format_specs(adapter.arg_id, begin + 1, end);
7918
1.01M
            if (SCN_UNLIKELY(begin == end || *begin != '}')) {
7919
148k
                handler.on_error("Unknown format specifier");
7920
148k
                return begin;
7921
148k
            }
7922
1.01M
        }
7923
0
        else {
7924
0
            SCN_UNLIKELY_ATTR
7925
0
            handler.on_error("Missing '}' in format string");
7926
0
            return begin;
7927
0
        }
7928
1.01M
    }
7929
863k
    return begin + 1;
7930
1.01M
}
impl.cpp:char const* scn::v4::detail::parse_replacement_field<char, scn::v4::(anonymous namespace)::format_handler<true, char> >(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<true, char>&)
Line
Count
Source
7867
354k
{
7868
354k
    struct id_adapter {
7869
354k
        constexpr void operator()()
7870
354k
        {
7871
354k
            arg_id = handler.on_arg_id();
7872
354k
        }
7873
354k
        constexpr void operator()(std::size_t id)
7874
354k
        {
7875
354k
            arg_id = handler.on_arg_id(id);
7876
354k
        }
7877
7878
354k
        constexpr void on_error(const char* msg)
7879
354k
        {
7880
354k
            SCN_UNLIKELY_ATTR
7881
354k
            handler.on_error(msg);
7882
354k
        }
7883
7884
354k
        Handler& handler;
7885
354k
        std::size_t arg_id;
7886
354k
    };
7887
7888
354k
    ++begin;
7889
354k
    if (SCN_UNLIKELY(begin == end)) {
7890
0
        handler.on_error("Unexpected end of replacement field");
7891
0
        return begin;
7892
0
    }
7893
7894
354k
    if (*begin == CharT{'}'}) {
7895
0
        handler.on_replacement_field(handler.on_arg_id(), begin);
7896
0
    }
7897
354k
    else if (*begin == CharT{'{'}) {
7898
0
        handler.on_literal_text(begin, begin + 1);
7899
0
    }
7900
354k
    else {
7901
354k
        auto adapter = id_adapter{handler, 0};
7902
354k
        begin = parse_arg_id(begin, end, adapter);
7903
7904
354k
        if (SCN_UNLIKELY(begin == end)) {
7905
0
            handler.on_error("Missing '}' in format string");
7906
0
            return begin;
7907
0
        }
7908
7909
354k
        if (*begin == CharT{'}'}) {
7910
0
            handler.on_replacement_field(adapter.arg_id, begin);
7911
0
        }
7912
354k
        else if (*begin == CharT{':'}) {
7913
354k
            if (SCN_UNLIKELY(begin + 1 == end)) {
7914
0
                handler.on_error("Unexpected end of replacement field");
7915
0
                return begin;
7916
0
            }
7917
354k
            begin = handler.on_format_specs(adapter.arg_id, begin + 1, end);
7918
354k
            if (SCN_UNLIKELY(begin == end || *begin != '}')) {
7919
24.7k
                handler.on_error("Unknown format specifier");
7920
24.7k
                return begin;
7921
24.7k
            }
7922
354k
        }
7923
0
        else {
7924
0
            SCN_UNLIKELY_ATTR
7925
0
            handler.on_error("Missing '}' in format string");
7926
0
            return begin;
7927
0
        }
7928
354k
    }
7929
330k
    return begin + 1;
7930
354k
}
impl.cpp:char const* scn::v4::detail::parse_replacement_field<char, scn::v4::(anonymous namespace)::format_handler<false, char> >(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<false, char>&)
Line
Count
Source
7867
355k
{
7868
355k
    struct id_adapter {
7869
355k
        constexpr void operator()()
7870
355k
        {
7871
355k
            arg_id = handler.on_arg_id();
7872
355k
        }
7873
355k
        constexpr void operator()(std::size_t id)
7874
355k
        {
7875
355k
            arg_id = handler.on_arg_id(id);
7876
355k
        }
7877
7878
355k
        constexpr void on_error(const char* msg)
7879
355k
        {
7880
355k
            SCN_UNLIKELY_ATTR
7881
355k
            handler.on_error(msg);
7882
355k
        }
7883
7884
355k
        Handler& handler;
7885
355k
        std::size_t arg_id;
7886
355k
    };
7887
7888
355k
    ++begin;
7889
355k
    if (SCN_UNLIKELY(begin == end)) {
7890
0
        handler.on_error("Unexpected end of replacement field");
7891
0
        return begin;
7892
0
    }
7893
7894
355k
    if (*begin == CharT{'}'}) {
7895
0
        handler.on_replacement_field(handler.on_arg_id(), begin);
7896
0
    }
7897
355k
    else if (*begin == CharT{'{'}) {
7898
0
        handler.on_literal_text(begin, begin + 1);
7899
0
    }
7900
355k
    else {
7901
355k
        auto adapter = id_adapter{handler, 0};
7902
355k
        begin = parse_arg_id(begin, end, adapter);
7903
7904
355k
        if (SCN_UNLIKELY(begin == end)) {
7905
0
            handler.on_error("Missing '}' in format string");
7906
0
            return begin;
7907
0
        }
7908
7909
355k
        if (*begin == CharT{'}'}) {
7910
0
            handler.on_replacement_field(adapter.arg_id, begin);
7911
0
        }
7912
355k
        else if (*begin == CharT{':'}) {
7913
355k
            if (SCN_UNLIKELY(begin + 1 == end)) {
7914
0
                handler.on_error("Unexpected end of replacement field");
7915
0
                return begin;
7916
0
            }
7917
355k
            begin = handler.on_format_specs(adapter.arg_id, begin + 1, end);
7918
355k
            if (SCN_UNLIKELY(begin == end || *begin != '}')) {
7919
24.7k
                handler.on_error("Unknown format specifier");
7920
24.7k
                return begin;
7921
24.7k
            }
7922
355k
        }
7923
0
        else {
7924
0
            SCN_UNLIKELY_ATTR
7925
0
            handler.on_error("Missing '}' in format string");
7926
0
            return begin;
7927
0
        }
7928
355k
    }
7929
330k
    return begin + 1;
7930
355k
}
impl.cpp:wchar_t const* scn::v4::detail::parse_replacement_field<wchar_t, scn::v4::(anonymous namespace)::format_handler<true, wchar_t> >(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<true, wchar_t>&)
Line
Count
Source
7867
151k
{
7868
151k
    struct id_adapter {
7869
151k
        constexpr void operator()()
7870
151k
        {
7871
151k
            arg_id = handler.on_arg_id();
7872
151k
        }
7873
151k
        constexpr void operator()(std::size_t id)
7874
151k
        {
7875
151k
            arg_id = handler.on_arg_id(id);
7876
151k
        }
7877
7878
151k
        constexpr void on_error(const char* msg)
7879
151k
        {
7880
151k
            SCN_UNLIKELY_ATTR
7881
151k
            handler.on_error(msg);
7882
151k
        }
7883
7884
151k
        Handler& handler;
7885
151k
        std::size_t arg_id;
7886
151k
    };
7887
7888
151k
    ++begin;
7889
151k
    if (SCN_UNLIKELY(begin == end)) {
7890
0
        handler.on_error("Unexpected end of replacement field");
7891
0
        return begin;
7892
0
    }
7893
7894
151k
    if (*begin == CharT{'}'}) {
7895
0
        handler.on_replacement_field(handler.on_arg_id(), begin);
7896
0
    }
7897
151k
    else if (*begin == CharT{'{'}) {
7898
0
        handler.on_literal_text(begin, begin + 1);
7899
0
    }
7900
151k
    else {
7901
151k
        auto adapter = id_adapter{handler, 0};
7902
151k
        begin = parse_arg_id(begin, end, adapter);
7903
7904
151k
        if (SCN_UNLIKELY(begin == end)) {
7905
0
            handler.on_error("Missing '}' in format string");
7906
0
            return begin;
7907
0
        }
7908
7909
151k
        if (*begin == CharT{'}'}) {
7910
0
            handler.on_replacement_field(adapter.arg_id, begin);
7911
0
        }
7912
151k
        else if (*begin == CharT{':'}) {
7913
151k
            if (SCN_UNLIKELY(begin + 1 == end)) {
7914
0
                handler.on_error("Unexpected end of replacement field");
7915
0
                return begin;
7916
0
            }
7917
151k
            begin = handler.on_format_specs(adapter.arg_id, begin + 1, end);
7918
151k
            if (SCN_UNLIKELY(begin == end || *begin != '}')) {
7919
49.5k
                handler.on_error("Unknown format specifier");
7920
49.5k
                return begin;
7921
49.5k
            }
7922
151k
        }
7923
0
        else {
7924
0
            SCN_UNLIKELY_ATTR
7925
0
            handler.on_error("Missing '}' in format string");
7926
0
            return begin;
7927
0
        }
7928
151k
    }
7929
101k
    return begin + 1;
7930
151k
}
impl.cpp:wchar_t const* scn::v4::detail::parse_replacement_field<wchar_t, scn::v4::(anonymous namespace)::format_handler<false, wchar_t> >(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<false, wchar_t>&)
Line
Count
Source
7867
151k
{
7868
151k
    struct id_adapter {
7869
151k
        constexpr void operator()()
7870
151k
        {
7871
151k
            arg_id = handler.on_arg_id();
7872
151k
        }
7873
151k
        constexpr void operator()(std::size_t id)
7874
151k
        {
7875
151k
            arg_id = handler.on_arg_id(id);
7876
151k
        }
7877
7878
151k
        constexpr void on_error(const char* msg)
7879
151k
        {
7880
151k
            SCN_UNLIKELY_ATTR
7881
151k
            handler.on_error(msg);
7882
151k
        }
7883
7884
151k
        Handler& handler;
7885
151k
        std::size_t arg_id;
7886
151k
    };
7887
7888
151k
    ++begin;
7889
151k
    if (SCN_UNLIKELY(begin == end)) {
7890
0
        handler.on_error("Unexpected end of replacement field");
7891
0
        return begin;
7892
0
    }
7893
7894
151k
    if (*begin == CharT{'}'}) {
7895
0
        handler.on_replacement_field(handler.on_arg_id(), begin);
7896
0
    }
7897
151k
    else if (*begin == CharT{'{'}) {
7898
0
        handler.on_literal_text(begin, begin + 1);
7899
0
    }
7900
151k
    else {
7901
151k
        auto adapter = id_adapter{handler, 0};
7902
151k
        begin = parse_arg_id(begin, end, adapter);
7903
7904
151k
        if (SCN_UNLIKELY(begin == end)) {
7905
0
            handler.on_error("Missing '}' in format string");
7906
0
            return begin;
7907
0
        }
7908
7909
151k
        if (*begin == CharT{'}'}) {
7910
0
            handler.on_replacement_field(adapter.arg_id, begin);
7911
0
        }
7912
151k
        else if (*begin == CharT{':'}) {
7913
151k
            if (SCN_UNLIKELY(begin + 1 == end)) {
7914
0
                handler.on_error("Unexpected end of replacement field");
7915
0
                return begin;
7916
0
            }
7917
151k
            begin = handler.on_format_specs(adapter.arg_id, begin + 1, end);
7918
151k
            if (SCN_UNLIKELY(begin == end || *begin != '}')) {
7919
49.5k
                handler.on_error("Unknown format specifier");
7920
49.5k
                return begin;
7921
49.5k
            }
7922
151k
        }
7923
0
        else {
7924
0
            SCN_UNLIKELY_ATTR
7925
0
            handler.on_error("Missing '}' in format string");
7926
0
            return begin;
7927
0
        }
7928
151k
    }
7929
101k
    return begin + 1;
7930
151k
}
7931
7932
template <bool IsConstexpr, typename CharT, typename Handler>
7933
constexpr void parse_format_string_impl(std::basic_string_view<CharT> format,
7934
                                        Handler&& handler)
7935
1.01M
{
7936
    // TODO: memchr fast path with a larger (> 32) format string
7937
7938
1.01M
    auto begin = format.data();
7939
1.01M
    auto it = begin;
7940
1.01M
    const auto end = format.data() + format.size();
7941
7942
1.57M
    while (it != end) {
7943
1.01M
        const auto ch = *it++;
7944
1.01M
        if (ch == CharT{'{'}) {
7945
1.01M
            handler.on_literal_text(begin, it - 1);
7946
7947
1.01M
            begin = it = parse_replacement_field(it - 1, end, handler);
7948
1.01M
            if (!handler.get_error()) {
7949
445k
                return;
7950
445k
            }
7951
1.01M
        }
7952
0
        else if (ch == CharT{'}'}) {
7953
0
            if (SCN_UNLIKELY(it == end || *it != CharT{'}'})) {
7954
0
                handler.on_error("Unmatched '}' in format string");
7955
0
                return;
7956
0
            }
7957
7958
0
            handler.on_literal_text(begin, it);
7959
0
            begin = ++it;
7960
0
        }
7961
1.01M
    }
7962
7963
566k
    handler.on_literal_text(begin, end);
7964
566k
}
impl.cpp:void scn::v4::detail::parse_format_string_impl<false, char, scn::v4::(anonymous namespace)::format_handler<true, char>&>(std::__1::basic_string_view<char, std::__1::char_traits<char> >, scn::v4::(anonymous namespace)::format_handler<true, char>&)
Line
Count
Source
7935
354k
{
7936
    // TODO: memchr fast path with a larger (> 32) format string
7937
7938
354k
    auto begin = format.data();
7939
354k
    auto it = begin;
7940
354k
    const auto end = format.data() + format.size();
7941
7942
635k
    while (it != end) {
7943
354k
        const auto ch = *it++;
7944
354k
        if (ch == CharT{'{'}) {
7945
354k
            handler.on_literal_text(begin, it - 1);
7946
7947
354k
            begin = it = parse_replacement_field(it - 1, end, handler);
7948
354k
            if (!handler.get_error()) {
7949
74.3k
                return;
7950
74.3k
            }
7951
354k
        }
7952
0
        else if (ch == CharT{'}'}) {
7953
0
            if (SCN_UNLIKELY(it == end || *it != CharT{'}'})) {
7954
0
                handler.on_error("Unmatched '}' in format string");
7955
0
                return;
7956
0
            }
7957
7958
0
            handler.on_literal_text(begin, it);
7959
0
            begin = ++it;
7960
0
        }
7961
354k
    }
7962
7963
280k
    handler.on_literal_text(begin, end);
7964
280k
}
impl.cpp:void scn::v4::detail::parse_format_string_impl<false, char, scn::v4::(anonymous namespace)::format_handler<false, char>&>(std::__1::basic_string_view<char, std::__1::char_traits<char> >, scn::v4::(anonymous namespace)::format_handler<false, char>&)
Line
Count
Source
7935
355k
{
7936
    // TODO: memchr fast path with a larger (> 32) format string
7937
7938
355k
    auto begin = format.data();
7939
355k
    auto it = begin;
7940
355k
    const auto end = format.data() + format.size();
7941
7942
636k
    while (it != end) {
7943
355k
        const auto ch = *it++;
7944
355k
        if (ch == CharT{'{'}) {
7945
355k
            handler.on_literal_text(begin, it - 1);
7946
7947
355k
            begin = it = parse_replacement_field(it - 1, end, handler);
7948
355k
            if (!handler.get_error()) {
7949
74.3k
                return;
7950
74.3k
            }
7951
355k
        }
7952
0
        else if (ch == CharT{'}'}) {
7953
0
            if (SCN_UNLIKELY(it == end || *it != CharT{'}'})) {
7954
0
                handler.on_error("Unmatched '}' in format string");
7955
0
                return;
7956
0
            }
7957
7958
0
            handler.on_literal_text(begin, it);
7959
0
            begin = ++it;
7960
0
        }
7961
355k
    }
7962
7963
281k
    handler.on_literal_text(begin, end);
7964
281k
}
impl.cpp:void scn::v4::detail::parse_format_string_impl<false, wchar_t, scn::v4::(anonymous namespace)::format_handler<true, wchar_t>&>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, scn::v4::(anonymous namespace)::format_handler<true, wchar_t>&)
Line
Count
Source
7935
151k
{
7936
    // TODO: memchr fast path with a larger (> 32) format string
7937
7938
151k
    auto begin = format.data();
7939
151k
    auto it = begin;
7940
151k
    const auto end = format.data() + format.size();
7941
7942
153k
    while (it != end) {
7943
151k
        const auto ch = *it++;
7944
151k
        if (ch == CharT{'{'}) {
7945
151k
            handler.on_literal_text(begin, it - 1);
7946
7947
151k
            begin = it = parse_replacement_field(it - 1, end, handler);
7948
151k
            if (!handler.get_error()) {
7949
148k
                return;
7950
148k
            }
7951
151k
        }
7952
0
        else if (ch == CharT{'}'}) {
7953
0
            if (SCN_UNLIKELY(it == end || *it != CharT{'}'})) {
7954
0
                handler.on_error("Unmatched '}' in format string");
7955
0
                return;
7956
0
            }
7957
7958
0
            handler.on_literal_text(begin, it);
7959
0
            begin = ++it;
7960
0
        }
7961
151k
    }
7962
7963
2.40k
    handler.on_literal_text(begin, end);
7964
2.40k
}
impl.cpp:void scn::v4::detail::parse_format_string_impl<false, wchar_t, scn::v4::(anonymous namespace)::format_handler<false, wchar_t>&>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, scn::v4::(anonymous namespace)::format_handler<false, wchar_t>&)
Line
Count
Source
7935
151k
{
7936
    // TODO: memchr fast path with a larger (> 32) format string
7937
7938
151k
    auto begin = format.data();
7939
151k
    auto it = begin;
7940
151k
    const auto end = format.data() + format.size();
7941
7942
153k
    while (it != end) {
7943
151k
        const auto ch = *it++;
7944
151k
        if (ch == CharT{'{'}) {
7945
151k
            handler.on_literal_text(begin, it - 1);
7946
7947
151k
            begin = it = parse_replacement_field(it - 1, end, handler);
7948
151k
            if (!handler.get_error()) {
7949
148k
                return;
7950
148k
            }
7951
151k
        }
7952
0
        else if (ch == CharT{'}'}) {
7953
0
            if (SCN_UNLIKELY(it == end || *it != CharT{'}'})) {
7954
0
                handler.on_error("Unmatched '}' in format string");
7955
0
                return;
7956
0
            }
7957
7958
0
            handler.on_literal_text(begin, it);
7959
0
            begin = ++it;
7960
0
        }
7961
151k
    }
7962
7963
2.40k
    handler.on_literal_text(begin, end);
7964
2.40k
}
7965
7966
template <bool IsConstexpr, typename CharT, typename Handler>
7967
constexpr scan_expected<void> parse_format_string(
7968
    std::basic_string_view<CharT> format,
7969
    Handler&& handler)
7970
1.01M
{
7971
1.01M
    parse_format_string_impl<IsConstexpr>(format, handler);
7972
1.01M
    handler.check_args_exhausted();
7973
1.01M
    return handler.get_error();
7974
1.01M
}
impl.cpp:scn::v4::scan_expected<void> scn::v4::detail::parse_format_string<false, char, scn::v4::(anonymous namespace)::format_handler<true, char>&>(std::__1::basic_string_view<char, std::__1::char_traits<char> >, scn::v4::(anonymous namespace)::format_handler<true, char>&)
Line
Count
Source
7970
354k
{
7971
354k
    parse_format_string_impl<IsConstexpr>(format, handler);
7972
354k
    handler.check_args_exhausted();
7973
354k
    return handler.get_error();
7974
354k
}
impl.cpp:scn::v4::scan_expected<void> scn::v4::detail::parse_format_string<false, char, scn::v4::(anonymous namespace)::format_handler<false, char>&>(std::__1::basic_string_view<char, std::__1::char_traits<char> >, scn::v4::(anonymous namespace)::format_handler<false, char>&)
Line
Count
Source
7970
355k
{
7971
355k
    parse_format_string_impl<IsConstexpr>(format, handler);
7972
355k
    handler.check_args_exhausted();
7973
355k
    return handler.get_error();
7974
355k
}
impl.cpp:scn::v4::scan_expected<void> scn::v4::detail::parse_format_string<false, wchar_t, scn::v4::(anonymous namespace)::format_handler<true, wchar_t>&>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, scn::v4::(anonymous namespace)::format_handler<true, wchar_t>&)
Line
Count
Source
7970
151k
{
7971
151k
    parse_format_string_impl<IsConstexpr>(format, handler);
7972
151k
    handler.check_args_exhausted();
7973
151k
    return handler.get_error();
7974
151k
}
impl.cpp:scn::v4::scan_expected<void> scn::v4::detail::parse_format_string<false, wchar_t, scn::v4::(anonymous namespace)::format_handler<false, wchar_t>&>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, scn::v4::(anonymous namespace)::format_handler<false, wchar_t>&)
Line
Count
Source
7970
151k
{
7971
151k
    parse_format_string_impl<IsConstexpr>(format, handler);
7972
151k
    handler.check_args_exhausted();
7973
151k
    return handler.get_error();
7974
151k
}
7975
7976
enum class arg_type_category {
7977
    none,
7978
    integer,
7979
    unsigned_integer,
7980
    floating,
7981
    string,
7982
    pointer,
7983
    boolean,
7984
    character,
7985
    custom
7986
};
7987
7988
constexpr arg_type_category get_category_for_arg_type(arg_type type)
7989
162k
{
7990
162k
    switch (type) {
7991
0
        case arg_type::none_type:
7992
0
            return arg_type_category::none;
7993
7994
27.0k
        case arg_type::schar_type:
7995
27.0k
        case arg_type::short_type:
7996
57.5k
        case arg_type::int_type:
7997
57.5k
        case arg_type::long_type:
7998
88.5k
        case arg_type::llong_type:
7999
88.5k
        case arg_type::int128_type:
8000
88.5k
            return arg_type_category::integer;
8001
8002
23.4k
        case arg_type::uchar_type:
8003
23.4k
        case arg_type::ushort_type:
8004
48.7k
        case arg_type::uint_type:
8005
48.7k
        case arg_type::ulong_type:
8006
74.3k
        case arg_type::ullong_type:
8007
74.3k
        case arg_type::uint128_type:
8008
74.3k
            return arg_type_category::unsigned_integer;
8009
8010
0
        case arg_type::pointer_type:
8011
0
            return arg_type_category::pointer;
8012
0
        case arg_type::bool_type:
8013
0
            return arg_type_category::boolean;
8014
0
        case arg_type::narrow_character_type:
8015
0
        case arg_type::wide_character_type:
8016
0
        case arg_type::code_point_type:
8017
0
            return arg_type_category::character;
8018
8019
0
        case arg_type::float_type:
8020
0
        case arg_type::double_type:
8021
0
        case arg_type::ldouble_type:
8022
0
        case arg_type::float16_type:
8023
0
        case arg_type::float32_type:
8024
0
        case arg_type::float64_type:
8025
0
        case arg_type::float128_type:
8026
0
        case arg_type::bfloat16_type:
8027
0
            return arg_type_category::floating;
8028
8029
0
        case arg_type::narrow_string_type:
8030
0
        case arg_type::wide_string_type:
8031
0
        case arg_type::string_view_type:
8032
0
            return arg_type_category::string;
8033
8034
0
        case arg_type::custom_type:
8035
0
            return arg_type_category::custom;
8036
8037
0
            SCN_CLANG_PUSH
8038
0
            SCN_CLANG_IGNORE("-Wcovered-switch-default")
8039
0
        default:
8040
0
            SCN_ENSURE(false);
8041
162k
            SCN_UNREACHABLE;
8042
162k
            SCN_CLANG_POP
8043
162k
    }
8044
8045
162k
    SCN_UNREACHABLE;
8046
162k
}
8047
8048
template <typename Handler>
8049
class specs_checker : public Handler {
8050
public:
8051
    template <typename H>
8052
    constexpr specs_checker(H&& handler, arg_type type)
8053
1.01M
        : Handler(SCN_FWD(handler)), m_arg_type(type)
8054
1.01M
    {
8055
1.01M
        SCN_EXPECT(m_arg_type != arg_type::custom_type);
8056
1.01M
    }
impl.cpp:scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >(scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >&&, scn::v4::detail::arg_type)
Line
Count
Source
8053
354k
        : Handler(SCN_FWD(handler)), m_arg_type(type)
8054
354k
    {
8055
354k
        SCN_EXPECT(m_arg_type != arg_type::custom_type);
8056
354k
    }
impl.cpp:scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >(scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >&&, scn::v4::detail::arg_type)
Line
Count
Source
8053
355k
        : Handler(SCN_FWD(handler)), m_arg_type(type)
8054
355k
    {
8055
355k
        SCN_EXPECT(m_arg_type != arg_type::custom_type);
8056
355k
    }
impl.cpp:scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >(scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >&&, scn::v4::detail::arg_type)
Line
Count
Source
8053
151k
        : Handler(SCN_FWD(handler)), m_arg_type(type)
8054
151k
    {
8055
151k
        SCN_EXPECT(m_arg_type != arg_type::custom_type);
8056
151k
    }
impl.cpp:scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >(scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >&&, scn::v4::detail::arg_type)
Line
Count
Source
8053
151k
        : Handler(SCN_FWD(handler)), m_arg_type(type)
8054
151k
    {
8055
151k
        SCN_EXPECT(m_arg_type != arg_type::custom_type);
8056
151k
    }
8057
8058
    constexpr void on_localized()
8059
162k
    {
8060
162k
        const auto cat = get_category_for_arg_type(m_arg_type);
8061
162k
        if (cat != arg_type_category::integer &&
8062
162k
            cat != arg_type_category::unsigned_integer &&
8063
162k
            cat != arg_type_category::floating &&
8064
162k
            cat != arg_type_category::boolean) {
8065
0
            SCN_UNLIKELY_ATTR
8066
            // clang-format off
8067
0
            return this->on_error("'L' specifier can only be used with arguments of integer, floating-point, or boolean types");
8068
            // clang-format on
8069
0
        }
8070
8071
162k
        Handler::on_localized();
8072
162k
    }
impl.cpp:scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >::on_localized()
Line
Count
Source
8059
64.4k
    {
8060
64.4k
        const auto cat = get_category_for_arg_type(m_arg_type);
8061
64.4k
        if (cat != arg_type_category::integer &&
8062
64.4k
            cat != arg_type_category::unsigned_integer &&
8063
64.4k
            cat != arg_type_category::floating &&
8064
64.4k
            cat != arg_type_category::boolean) {
8065
0
            SCN_UNLIKELY_ATTR
8066
            // clang-format off
8067
0
            return this->on_error("'L' specifier can only be used with arguments of integer, floating-point, or boolean types");
8068
            // clang-format on
8069
0
        }
8070
8071
64.4k
        Handler::on_localized();
8072
64.4k
    }
impl.cpp:scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >::on_localized()
Line
Count
Source
8059
64.4k
    {
8060
64.4k
        const auto cat = get_category_for_arg_type(m_arg_type);
8061
64.4k
        if (cat != arg_type_category::integer &&
8062
64.4k
            cat != arg_type_category::unsigned_integer &&
8063
64.4k
            cat != arg_type_category::floating &&
8064
64.4k
            cat != arg_type_category::boolean) {
8065
0
            SCN_UNLIKELY_ATTR
8066
            // clang-format off
8067
0
            return this->on_error("'L' specifier can only be used with arguments of integer, floating-point, or boolean types");
8068
            // clang-format on
8069
0
        }
8070
8071
64.4k
        Handler::on_localized();
8072
64.4k
    }
impl.cpp:scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >::on_localized()
Line
Count
Source
8059
16.9k
    {
8060
16.9k
        const auto cat = get_category_for_arg_type(m_arg_type);
8061
16.9k
        if (cat != arg_type_category::integer &&
8062
16.9k
            cat != arg_type_category::unsigned_integer &&
8063
16.9k
            cat != arg_type_category::floating &&
8064
16.9k
            cat != arg_type_category::boolean) {
8065
0
            SCN_UNLIKELY_ATTR
8066
            // clang-format off
8067
0
            return this->on_error("'L' specifier can only be used with arguments of integer, floating-point, or boolean types");
8068
            // clang-format on
8069
0
        }
8070
8071
16.9k
        Handler::on_localized();
8072
16.9k
    }
impl.cpp:scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >::on_localized()
Line
Count
Source
8059
16.9k
    {
8060
16.9k
        const auto cat = get_category_for_arg_type(m_arg_type);
8061
16.9k
        if (cat != arg_type_category::integer &&
8062
16.9k
            cat != arg_type_category::unsigned_integer &&
8063
16.9k
            cat != arg_type_category::floating &&
8064
16.9k
            cat != arg_type_category::boolean) {
8065
0
            SCN_UNLIKELY_ATTR
8066
            // clang-format off
8067
0
            return this->on_error("'L' specifier can only be used with arguments of integer, floating-point, or boolean types");
8068
            // clang-format on
8069
0
        }
8070
8071
16.9k
        Handler::on_localized();
8072
16.9k
    }
8073
8074
private:
8075
    arg_type m_arg_type;
8076
};
8077
8078
template <typename Handler>
8079
constexpr void check_int_type_specs(const format_specs& specs,
8080
                                    Handler&& handler)
8081
863k
{
8082
863k
    if (SCN_UNLIKELY(specs.type > presentation_type::int_hex)) {
8083
0
        return handler.on_error("Invalid type specifier for integer type");
8084
0
    }
8085
863k
    if (specs.localized) {
8086
162k
        if (SCN_UNLIKELY(specs.type == presentation_type::int_binary)) {
8087
            // clang-format off
8088
0
            handler.on_error("'b'/'B' specifier not supported for localized integers");
8089
            // clang-format on
8090
0
            return;
8091
0
        }
8092
162k
        if (SCN_UNLIKELY(specs.type == presentation_type::int_arbitrary_base)) {
8093
            // clang-format off
8094
0
            return handler.on_error("Arbitrary bases not supported for localized integers");
8095
            // clang-format on
8096
0
        }
8097
162k
    }
8098
863k
}
Unexecuted instantiation: void scn::v4::detail::check_int_type_specs<scn::v4::detail::specs_checker<scn::v4::detail::specs_setter>&>(scn::v4::detail::format_specs const&, scn::v4::detail::specs_checker<scn::v4::detail::specs_setter>&)
void scn::v4::detail::check_int_type_specs<scn::v4::impl::reader_error_handler&>(scn::v4::detail::format_specs const&, scn::v4::impl::reader_error_handler&)
Line
Count
Source
8081
863k
{
8082
863k
    if (SCN_UNLIKELY(specs.type > presentation_type::int_hex)) {
8083
0
        return handler.on_error("Invalid type specifier for integer type");
8084
0
    }
8085
863k
    if (specs.localized) {
8086
162k
        if (SCN_UNLIKELY(specs.type == presentation_type::int_binary)) {
8087
            // clang-format off
8088
0
            handler.on_error("'b'/'B' specifier not supported for localized integers");
8089
            // clang-format on
8090
0
            return;
8091
0
        }
8092
162k
        if (SCN_UNLIKELY(specs.type == presentation_type::int_arbitrary_base)) {
8093
            // clang-format off
8094
0
            return handler.on_error("Arbitrary bases not supported for localized integers");
8095
            // clang-format on
8096
0
        }
8097
162k
    }
8098
863k
}
8099
8100
template <typename Handler>
8101
constexpr void check_char_type_specs(const format_specs& specs,
8102
                                     Handler&& handler)
8103
0
{
8104
0
    if (specs.type > presentation_type::int_hex ||
8105
0
        specs.type == presentation_type::int_arbitrary_base) {
8106
0
        SCN_UNLIKELY_ATTR
8107
0
        return handler.on_error("Invalid type specifier for character type");
8108
0
    }
8109
0
}
Unexecuted instantiation: void scn::v4::detail::check_char_type_specs<scn::v4::detail::specs_checker<scn::v4::detail::specs_setter>&>(scn::v4::detail::format_specs const&, scn::v4::detail::specs_checker<scn::v4::detail::specs_setter>&)
Unexecuted instantiation: void scn::v4::detail::check_char_type_specs<scn::v4::impl::reader_error_handler&>(scn::v4::detail::format_specs const&, scn::v4::impl::reader_error_handler&)
8110
8111
template <typename Handler>
8112
constexpr void check_code_point_type_specs(const format_specs& specs,
8113
                                           Handler&& handler)
8114
0
{
8115
0
    if (specs.type != presentation_type::none &&
8116
0
        specs.type != presentation_type::character) {
8117
0
        SCN_UNLIKELY_ATTR
8118
0
        return handler.on_error("Invalid type specifier for code point type");
8119
0
    }
8120
0
}
8121
8122
template <typename Handler>
8123
constexpr void check_float_type_specs(const format_specs& specs,
8124
                                      Handler&& handler)
8125
0
{
8126
0
    if (specs.type != presentation_type::none &&
8127
0
        (specs.type < presentation_type::float_hex ||
8128
0
         specs.type > presentation_type::float_general)) {
8129
0
        SCN_UNLIKELY_ATTR
8130
0
        return handler.on_error("Invalid type specifier for float type");
8131
0
    }
8132
0
}
Unexecuted instantiation: void scn::v4::detail::check_float_type_specs<scn::v4::detail::specs_checker<scn::v4::detail::specs_setter>&>(scn::v4::detail::format_specs const&, scn::v4::detail::specs_checker<scn::v4::detail::specs_setter>&)
Unexecuted instantiation: void scn::v4::detail::check_float_type_specs<scn::v4::impl::reader_error_handler&>(scn::v4::detail::format_specs const&, scn::v4::impl::reader_error_handler&)
8133
8134
template <typename Handler>
8135
constexpr void check_string_type_specs(const format_specs& specs,
8136
                                       Handler&& handler)
8137
0
{
8138
0
    if (specs.type == presentation_type::none ||
8139
0
        specs.type == presentation_type::string ||
8140
0
        specs.type == presentation_type::string_set
8141
0
#if !SCN_DISABLE_REGEX
8142
0
        || specs.type == presentation_type::regex ||
8143
0
        specs.type == presentation_type::regex_escaped
8144
0
#endif
8145
0
    ) {
8146
0
        return;
8147
0
    }
8148
0
    if (specs.type == presentation_type::character) {
8149
0
        if (SCN_UNLIKELY(specs.precision == 0)) {
8150
            // clang-format off
8151
0
            return handler.on_error("'c' type specifier for strings requires the field precision to be specified");
8152
            // clang-format on
8153
0
        }
8154
0
        return;
8155
0
    }
8156
0
    SCN_UNLIKELY_ATTR
8157
0
    handler.on_error("Invalid type specifier for string");
8158
0
}
Unexecuted instantiation: void scn::v4::detail::check_string_type_specs<scn::v4::detail::specs_checker<scn::v4::detail::specs_setter>&>(scn::v4::detail::format_specs const&, scn::v4::detail::specs_checker<scn::v4::detail::specs_setter>&)
Unexecuted instantiation: void scn::v4::detail::check_string_type_specs<scn::v4::impl::reader_error_handler&>(scn::v4::detail::format_specs const&, scn::v4::impl::reader_error_handler&)
8159
8160
template <typename Handler>
8161
constexpr void check_pointer_type_specs(const format_specs& specs,
8162
                                        Handler&& handler)
8163
0
{
8164
0
    if (specs.type != presentation_type::none &&
8165
0
        specs.type != presentation_type::pointer) {
8166
0
        SCN_UNLIKELY_ATTR
8167
0
        return handler.on_error("Invalid type specifier for pointer");
8168
0
    }
8169
0
}
Unexecuted instantiation: void scn::v4::detail::check_pointer_type_specs<scn::v4::detail::specs_checker<scn::v4::detail::specs_setter>&>(scn::v4::detail::format_specs const&, scn::v4::detail::specs_checker<scn::v4::detail::specs_setter>&)
Unexecuted instantiation: void scn::v4::detail::check_pointer_type_specs<scn::v4::impl::reader_error_handler&>(scn::v4::detail::format_specs const&, scn::v4::impl::reader_error_handler&)
8170
8171
template <typename Handler>
8172
constexpr void check_bool_type_specs(const format_specs& specs,
8173
                                     Handler&& handler)
8174
0
{
8175
0
    if (specs.type != presentation_type::none &&
8176
0
        specs.type != presentation_type::string &&
8177
0
        specs.type != presentation_type::int_generic &&
8178
0
        specs.type != presentation_type::int_hex &&
8179
0
        specs.type != presentation_type::int_binary &&
8180
0
        specs.type != presentation_type::int_unsigned_decimal &&
8181
0
        specs.type != presentation_type::int_octal &&
8182
0
        specs.type != presentation_type::int_decimal) {
8183
0
        SCN_UNLIKELY_ATTR
8184
0
        return handler.on_error("Invalid type specifier for boolean");
8185
0
    }
8186
0
}
Unexecuted instantiation: void scn::v4::detail::check_bool_type_specs<scn::v4::detail::specs_checker<scn::v4::detail::specs_setter>&>(scn::v4::detail::format_specs const&, scn::v4::detail::specs_checker<scn::v4::detail::specs_setter>&)
Unexecuted instantiation: void scn::v4::detail::check_bool_type_specs<scn::v4::impl::reader_error_handler&>(scn::v4::detail::format_specs const&, scn::v4::impl::reader_error_handler&)
8187
8188
#if !SCN_DISABLE_REGEX
8189
template <typename Handler>
8190
constexpr void check_regex_type_specs(const format_specs& specs,
8191
                                      Handler&& handler)
8192
0
{
8193
0
    if (SCN_UNLIKELY(specs.type == presentation_type::none ||
8194
0
                     specs.charset_string_size == 0)) {
8195
        // clang-format off
8196
0
        return handler.on_error("Regular expression needs to be specified when reading regex_matches");
8197
        // clang-format on
8198
0
    }
8199
0
    if (specs.type == presentation_type::regex ||
8200
0
        specs.type == presentation_type::regex_escaped) {
8201
0
        return;
8202
0
    }
8203
0
    SCN_UNLIKELY_ATTR
8204
0
    handler.on_error("Invalid type specifier for regex_matches");
8205
0
}
8206
#endif
8207
8208
}  // namespace detail
8209
8210
SCN_CLANG_PUSH
8211
SCN_CLANG_IGNORE("-Wdocumentation-unknown-command")
8212
8213
/**
8214
 * \defgroup format-string Format strings
8215
 *
8216
 * \brief Format string description
8217
 *
8218
 * The format string syntax is heavily influenced by {fmt} and
8219
 * `std::format`, and is largely compatible with it. Scanning functions,
8220
 * such as `scn::scan` and
8221
 * `scn::input`, use the format string syntax described in this section.
8222
 *
8223
 * Format strings consist of:
8224
 *
8225
 *  * Replacement fields, which are surrounded by curly braces `{}`.
8226
 *
8227
 *  * Non-whitespace characters (except `{}`; for literal braces, use
8228
 *    `{{` and `}}`), which consume exactly one identical character from the
8229
 *    input
8230
 *
8231
 *  * Whitespace characters, which consume any and all available consecutive
8232
 *    whitespace from the input.
8233
 *
8234
 * Literal characters are matched by code point one-to-one, with no
8235
 * normalization being done.
8236
 * `Ä` (U+00C4, UTF-8 0xc3 0x84) only matches another U+00C4, and not, for
8237
 * example, U+00A8 (DIAERESIS) and U+0041 (LATIN CAPITAL LETTER A).
8238
 *
8239
 * Characters (code points) are considered to be whitespace characters by
8240
 * the Unicode Pattern_White_Space property, as defined by UAX31-R3a.
8241
 * These code points are:
8242
 *
8243
 *  * ASCII whitespace characters ("\t\n\v\f\r ")
8244
 *  * U+0085 (next line)
8245
 *  * U+200E and U+200F (LEFT-TO-RIGHT MARK and RIGHT-TO-LEFT MARK)
8246
 *  * U+2028 and U+2029 (LINE SEPARATOR and PARAGRAPH SEPARATOR)
8247
 *
8248
 * The grammar for a replacement field is as follows:
8249
 *
8250
 * \code
8251
 * replacement-field   ::= '{' [arg-id] [':' format-spec] '}'
8252
 * arg-id              ::= positive-integer
8253
 *
8254
 * format-spec         ::= [fill-and-align]
8255
 *                         [width] [precision]
8256
 *                         ['L'] [type]
8257
 * fill-and-align      ::= [fill] align
8258
 * fill                ::= any character other than
8259
 *                         '{' or '}'
8260
 * align               ::= one of '<' '>' '^'
8261
 * width               ::= positive-integer
8262
 * precision           ::= '.' nonnegative-integer
8263
 * type                ::= 'a' | 'A' | 'b' | 'B' | 'c' | 'd' |
8264
 *                         'e' | 'E' | 'f' | 'F' | 'g' | 'G' |
8265
 *                         'o' | 'p' | 's' | 'x' | 'X' | 'i' | 'u'
8266
 * \endcode
8267
 *
8268
 * \section arg-ids Argument IDs
8269
 *
8270
 * The `arg-id` specifier can be used to index arguments manually.
8271
 * If manual indexing is used, all of the indices in a format string must be
8272
 * stated explicitly. The same `arg-id` can appear in the format string
8273
 * only once, and must refer to a valid argument.
8274
 *
8275
 * \code{.cpp}
8276
 * // Format string equivalent to "{0} to {1}"
8277
 * auto a = scn::scan<int, int>("2 to 300", "{} to {}");
8278
 * // a->values() == (2, 300)
8279
 *
8280
 * // Manual indexing
8281
 * auto b = scn::scan<int, int>("2 to 300", "{1} to {0}");
8282
 * // b->values() == (300, 2)
8283
 *
8284
 * // INVALID:
8285
 * // Automatic and manual indexing is mixed
8286
 * auto c = scn::scan<int, int>("2 to 300", "{} to {0}");
8287
 *
8288
 * // INVALID:
8289
 * // Same argument is referred to multiple times
8290
 * auto d = scn::scan<int, int>("2 to 300", "{0} to {0}");
8291
 *
8292
 * // INVALID:
8293
 * // {2} does not refer to an argument
8294
 * auto e = scn::scan<int, int>("2 to 300", "{0} to {2}");
8295
 * \endcode
8296
 *
8297
 * \section fill-and-align Fill and align
8298
 *
8299
 * Alignment allows for skipping character before and/or after a value.
8300
 * There are three possible values for alignment:
8301
 *
8302
 * <table>
8303
 * <caption id="align-table">
8304
 * Alignment options
8305
 * </caption>
8306
 *
8307
 * <tr><th>Option</th> <th>Meaning</th></tr>
8308
 *
8309
 * <tr>
8310
 * <td>`<`</td>
8311
 * <td>
8312
 * Align the value to the left (skips fill characters after the value)
8313
 * </td>
8314
 * </tr>
8315
 *
8316
 * <tr>
8317
 * <td>`>`</td>
8318
 * <td>
8319
 * Align the value to the right (skips fill characters before the value)
8320
 * </td>
8321
 * </tr>
8322
 *
8323
 * <tr>
8324
 * <td>`^`</td>
8325
 * <td>
8326
 * Align the value to the center
8327
 * (skips fill characters both before and after the value)
8328
 * </td>
8329
 * </tr>
8330
 * </table>
8331
 *
8332
 * The fill character can be any Unicode code point, except for `{` and `}`.
8333
 * The default fill is the space character `' '`.
8334
 *
8335
 * For format type specifiers other than `c` (default for `char` and `wchar_t`,
8336
 * available for `string` and `string_view`), `[...]`, and the regex `/.../`,
8337
 * the default alignment is `>`.
8338
 * Otherwise, the default alignment is `<`.
8339
 *
8340
 * In addition to the skipping of fill characters,
8341
 * for format type specifiers with the `>` default alignment,
8342
 * preceding whitespace is automatically skipped.
8343
 * This preceding whitespace isn't counted as part of the field width,
8344
 * as described below.
8345
 *
8346
 * The number of fill characters consumed can be controlled with the width and
8347
 * precision specifiers.
8348
 *
8349
 * \section width Width
8350
 *
8351
 * Width specifies the minimum number of characters that will be read from
8352
 * the source range. It can be any unsigned integer. Any fill characters skipped
8353
 * are included in the width
8354
 *
8355
 * For the purposes of width calculation, the same algorithm is used that in
8356
 * {fmt}. Every code point has a width of one, except the following ones
8357
 * have a width of 2:
8358
 *
8359
 * * any code point with the East_Asian_Width="W" or East_Asian_Width="F"
8360
 *   Derived Extracted Property as described by UAX#44
8361
 * * U+4DC0 – U+4DFF (Yijing Hexagram Symbols)
8362
 * * U+1F300 – U+1F5FF (Miscellaneous Symbols and Pictographs)
8363
 * * U+1F900 – U+1F9FF (Supplemental Symbols and Pictographs)
8364
 *
8365
 * \section precision Precision
8366
 *
8367
 * Precision specifies the maximum number of characters that will be read from
8368
 * the source range. The method for counting characters is the same as above,
8369
 * with the width field.
8370
 *
8371
 * \section localized Localized
8372
 *
8373
 * The `L` flag enables localized scanning.
8374
 * Its effects are different for each type it is used with:
8375
 *
8376
 *  * For integers, it enables locale-specific thousands separators
8377
 *  * For floating-point numbers, it enables locale-specific thousands and
8378
 *    radix (decimal) separators
8379
 *  * For booleans, it enables locale-specific textual representations (for
8380
 *    `true` and `false`)
8381
 *  * For other types, it has no effect
8382
 *
8383
 * \section type Type specifier
8384
 *
8385
 * The type specifier determines how the data is to be scanned.
8386
 * The type of the argument to be scanned determines what flags are valid.
8387
 *
8388
 * \subsection type-string Type specifier: strings
8389
 *
8390
 * <table>
8391
 * <caption id="type-string-table">
8392
 * String types (`std::basic_string` and `std::basic_string_view`)
8393
 * </caption>
8394
 * <tr><th>Type</th> <th>Meaning</th></tr>
8395
 * <tr>
8396
 * <td>none, `s`</td>
8397
 * <td>
8398
 * Copies from the input until a whitespace character is encountered, or,
8399
 * if using the `<` (left) or `^` (center) alignment,
8400
 * a fill character is encountered.
8401
 * </td>
8402
 * </tr>
8403
 * <tr>
8404
 * <td>`c`</td>
8405
 * <td>
8406
 * Copies from the input until the field width is exhausted.
8407
 * Doesn't skip preceding whitespace.
8408
 * Errors if no field precision is provided.
8409
 * </td>
8410
 * </tr>
8411
 * <tr>
8412
 * <td>`[...]`</td>
8413
 * <td>
8414
 * Character set matching: copies from the input until a character not specified
8415
 * in the set is encountered. Character ranges can be specified with `-`, and
8416
 * the entire selection can be inverted with a prefix `^`. Matches and supports
8417
 * arbitrary Unicode code points.
8418
 * Doesn't skip preceding whitespace.
8419
 * </td>
8420
 * </tr>
8421
 * <tr>
8422
 * <td>`/<regex>/<flags>`</td>
8423
 * <td>
8424
 * Regular expression matching: copies from the input until the input does not
8425
 * match the regex.
8426
 * Doesn't skip preceding whitespace.
8427
 * \see regex
8428
 * </td>
8429
 * </tr>
8430
 * </table>
8431
 *
8432
 * \note `std::basic_string_view` can only be scanned if the source is
8433
 * contiguous.
8434
 *
8435
 * \subsection type-int Type specifier: integers
8436
 *
8437
 * Integer values are scanned as if by using `std::from_chars`,
8438
 * except a positive `+` sign and a base prefix (like `0x`) are always
8439
 * allowed to be present.
8440
 *
8441
 * <table>
8442
 * <caption id="type-int-table">
8443
 * Integer types (`signed` and `unsigned` variants of `char`, `short`,
8444
 * `int`, `long`, and `long long`)
8445
 * </caption>
8446
 * <tr><th>Type</th> <th>Meaning</th></tr>
8447
 * <tr>
8448
 * <td>`b`, `B`</td>
8449
 * <td>
8450
 * `std::from_chars` with base `2`. The base prefix is `0b` or `0B`.
8451
 * </td>
8452
 * </tr>
8453
 * <tr>
8454
 * <td>`o`, `O`</td>
8455
 * <td>
8456
 * `std::from_chars` with base `8`. The base prefix is `0o` or `0O`, or just
8457
 * `0`.
8458
 * </td>
8459
 * </tr>
8460
 * <tr>
8461
 * <td>`x`, `X`</td>
8462
 * <td>
8463
 * `std::from_chars` with base `16`. The base prefix is `0x` or `0X`.
8464
 * </td>
8465
 * </tr>
8466
 * <tr>
8467
 * <td>`d`</td>
8468
 * <td>
8469
 * `std::from_chars` with base `10`. No base prefix allowed.
8470
 * </td>
8471
 * </tr>
8472
 * <tr>
8473
 * <td>`u`</td>
8474
 * <td>
8475
 * `std::from_chars` with base `10`. No base prefix or `-` sign allowed.
8476
 * </td>
8477
 * </tr>
8478
 * <tr>
8479
 * <td>`i`</td>
8480
 * <td>
8481
 * Detect the base from a possible prefix, defaulting to decimal (base-10).
8482
 * </td>
8483
 * </tr>
8484
 * <tr>
8485
 * <td>`rXX` (where XX = [2, 36])</td>
8486
 * <td>
8487
 * Custom base, without a base prefix (r stands for radix).
8488
 * </td>
8489
 * </tr>
8490
 * <tr>
8491
 * <td>`c`</td>
8492
 * <td>
8493
 * Copies a character (code unit) from the input.
8494
 * </td>
8495
 * </tr>
8496
 * <tr>
8497
 * <td>none</td>
8498
 * <td>
8499
 * Same as `d`.
8500
 * </td>
8501
 * </tr>
8502
 * </table>
8503
 *
8504
 * \subsection type-char Type specifier: characters
8505
 *
8506
 * <table>
8507
 * <caption id="type-char-table">
8508
 * Character types (`char` and `wchar_t`), and code points (`char32_t`)
8509
 * </caption>
8510
 * <tr><th>Type</th> <th>Meaning</th></tr>
8511
 * <tr>
8512
 * <td>none, `c`</td>
8513
 * <td>
8514
 * Copies a character (code point for `char32_t`, code unit otherwise) from the
8515
 * input.
8516
 * </td>
8517
 * </tr>
8518
 * <tr>
8519
 * <td>`b`, `B`, `d`, `i`, `o`, `O`, `u`, `x`, `X`</td>
8520
 * <td>
8521
 * Same as for integers, see above \ref type-int. Not allowed for `char32_t`.
8522
 * </td>
8523
 * </tr>
8524
 * </table>
8525
 *
8526
 * \note When scanning characters (`char` and `wchar_t`), the source range is
8527
 * read a single code unit at a time, and encoding is not respected.
8528
 *
8529
 * \subsection type-float Type specifier: floating-point values
8530
 *
8531
 * Floating-point values are scanned as if by using `std::from_chars`,
8532
 * except a positive `+` sign and a base prefix (like `0x`) are always
8533
 * allowed to be present.
8534
 *
8535
 * <table>
8536
 * <caption id="type-float-table">
8537
 * Floating-point types (`float`, `double`, and `long double`)
8538
 * </caption>
8539
 * <tr><th>Type</th> <th>Meaning</th></tr>
8540
 * <tr>
8541
 * <td>`a`, `A`</td>
8542
 * <td>
8543
 * `std::from_chars` with `std::chars_format::hex`.
8544
 * Prefix `0x`/`0X` is allowed.
8545
 * </td>
8546
 * </tr>
8547
 * <tr>
8548
 * <td>`e`, `E`</td>
8549
 * <td>
8550
 * `std::from_chars` with `std::chars_format::scientific`.
8551
 * </td>
8552
 * </tr>
8553
 * <tr>
8554
 * <td>`f`, `F`</td>
8555
 * <td>
8556
 * `std::from_chars` with `std::chars_format::fixed`.
8557
 * </td>
8558
 * </tr>
8559
 * <tr>
8560
 * <td>`g`, `G`</td>
8561
 * <td>
8562
 * `std::from_chars` with `std::chars_format::general`.
8563
 * </td>
8564
 * </tr>
8565
 * <tr>
8566
 * <td>none</td>
8567
 * <td>
8568
 * `std::from_chars` with `std::chars_format::general | std::chars_format::hex`.
8569
 * Prefix `0x`/`0X` is allowed.
8570
 * </td>
8571
 * </tr>
8572
 * </table>
8573
 *
8574
 * \subsection type-bool Type specifier: booleans
8575
 *
8576
 * <table>
8577
 * <caption id="type-bool-table">
8578
 * `bool`
8579
 * </caption>
8580
 * <tr><th>Type</th> <th>Meaning</th></tr>
8581
 * <tr>
8582
 * <td>`s`</td>
8583
 * <td>
8584
 * Allows for the textual representation (`true` or `false`).
8585
 * </td>
8586
 * </tr>
8587
 * <tr>
8588
 * <td>`b`, `B`, `d`, `i`, `o`, `O`, `u`, `x`, `X`</td>
8589
 * <td>
8590
 * Allows for the integral/numeric representation (`0` or `1`).
8591
 * </td>
8592
 * </tr>
8593
 * <tr>
8594
 * <td>none</td>
8595
 * <td>
8596
 * Allows for both the textual and the integral/numeric representation.
8597
 * </td>
8598
 * </tr>
8599
 * </table>
8600
 */
8601
8602
SCN_CLANG_POP  // -Wdocumentation-unknown-command
8603
8604
    namespace detail
8605
{
8606
}
8607
8608
namespace detail {
8609
/**
8610
 * A runtime format string
8611
 *
8612
 * \ingroup format-string
8613
 */
8614
template <typename CharT>
8615
struct basic_runtime_format_string {
8616
1.17M
    basic_runtime_format_string(std::basic_string_view<CharT> s) : str(s) {}
scn::v4::detail::basic_runtime_format_string<char>::basic_runtime_format_string(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
8616
836k
    basic_runtime_format_string(std::basic_string_view<CharT> s) : str(s) {}
scn::v4::detail::basic_runtime_format_string<wchar_t>::basic_runtime_format_string(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
Line
Count
Source
8616
335k
    basic_runtime_format_string(std::basic_string_view<CharT> s) : str(s) {}
8617
8618
    basic_runtime_format_string(const basic_runtime_format_string&) = delete;
8619
    basic_runtime_format_string(basic_runtime_format_string&&) = delete;
8620
    basic_runtime_format_string& operator=(const basic_runtime_format_string&) =
8621
        delete;
8622
    basic_runtime_format_string& operator=(basic_runtime_format_string&&) =
8623
        delete;
8624
    ~basic_runtime_format_string() = default;
8625
8626
    std::basic_string_view<CharT> str;
8627
};
8628
}  // namespace detail
8629
8630
/**
8631
 * Create a runtime format string
8632
 *
8633
 * Can be used to avoid compile-time format string checking
8634
 *
8635
 * \ingroup format-string
8636
 */
8637
inline detail::basic_runtime_format_string<char> runtime_format(
8638
    std::string_view s)
8639
836k
{
8640
836k
    return s;
8641
836k
}
8642
inline detail::basic_runtime_format_string<wchar_t> runtime_format(
8643
    std::wstring_view s)
8644
335k
{
8645
335k
    return s;
8646
335k
}
8647
8648
namespace detail {
8649
struct compile_string {};
8650
8651
template <typename Str>
8652
inline constexpr bool is_compile_string_v =
8653
    std::is_base_of_v<compile_string, Str>;
8654
8655
template <typename Scanner, typename ParseCtx>
8656
using dt_scanner_parse =
8657
    decltype(SCN_DECLVAL(Scanner&).parse(SCN_DECLVAL(ParseCtx&)));
8658
template <typename Scanner, typename T, typename Ctx>
8659
using dt_scanner_scan = decltype(SCN_DECLVAL(const Scanner&)
8660
                                     .scan(SCN_DECLVAL(T&), SCN_DECLVAL(Ctx&)));
8661
8662
template <typename Scanner, typename T, typename Ctx, typename ParseCtx>
8663
constexpr typename ParseCtx::iterator parse_format_specs_impl(
8664
    ParseCtx& parse_ctx)
8665
{
8666
    static_assert(
8667
        std::is_default_constructible_v<Scanner>,
8668
        "Specializations of scn::scanner must be default constructible");
8669
    static_assert(mp_valid<dt_scanner_parse, Scanner, ParseCtx>::value,
8670
                  "Specializations of scn::scanner must have a "
8671
                  "parse(ParseContext&) member function.");
8672
    static_assert(
8673
        std::is_same_v<mp_eval_or<void, dt_scanner_parse, Scanner, ParseCtx>,
8674
                       typename ParseCtx::iterator>,
8675
        "scn::scanner::parse(ParseContext&) must return "
8676
        "ParseContext::iterator. To report an error from scanner::parse, "
8677
        "either throw an exception derived from scn::scan_format_string_error, "
8678
        "or call ParseContext::on_error.");
8679
    static_assert(mp_valid<dt_scanner_scan, Scanner, T, Ctx>::value,
8680
                  "Specializations of scn::scanner must have a "
8681
                  "scan(T&, Context&) const member function.");
8682
    static_assert(
8683
        std::is_same_v<mp_eval_or<void, dt_scanner_scan, Scanner, T, Ctx>,
8684
                       scan_expected<typename Ctx::iterator>>,
8685
        "scn::scanner::scan(T&, Context&) must return "
8686
        "scan_expected<Context::iterator>.");
8687
8688
    auto s = Scanner{};
8689
    return s.parse(parse_ctx);
8690
}
8691
8692
template <typename T, typename Ctx, typename ParseCtx>
8693
constexpr typename ParseCtx::iterator parse_format_specs(ParseCtx& parse_ctx)
8694
{
8695
    using char_type = typename Ctx::char_type;
8696
    using map_result =
8697
        std::remove_reference_t<decltype(arg_mapper<char_type>().map(
8698
            SCN_DECLVAL(T&)))>;
8699
    if constexpr (std::is_base_of_v<unscannable, map_result>) {
8700
        // Error will be reported by static_assert in make_value(),
8701
        // let's not muddy the compiler error by making more of them.
8702
        return parse_ctx.begin();
8703
    }
8704
    else {
8705
        using mapped_type =
8706
            std::conditional_t<arg_type_constant<T, char_type>::value !=
8707
                                   arg_type::custom_type,
8708
                               map_result, T>;
8709
        using scanner_type = typename Ctx::template scanner_type<mapped_type>;
8710
        return parse_format_specs_impl<scanner_type, T, Ctx, ParseCtx>(
8711
            parse_ctx);
8712
    }
8713
}
8714
8715
template <typename CharT, typename Source, typename... Args>
8716
class format_string_checker {
8717
public:
8718
    using parse_context_type = compile_parse_context<CharT>;
8719
    static constexpr auto num_args = sizeof...(Args);
8720
8721
    explicit constexpr format_string_checker(
8722
        std::basic_string_view<CharT> format_str)
8723
        : m_parse_context(source_tag<Source>, format_str, num_args, m_types),
8724
          m_parse_funcs{&parse_format_specs<Args,
8725
                                            default_context<CharT>,
8726
                                            parse_context_type>...},
8727
          m_types{arg_type_constant<Args, CharT>::value...}
8728
    {
8729
    }
8730
8731
    constexpr void on_literal_text(const CharT* begin, const CharT* end)
8732
    {
8733
        // TODO: Do we want to validate Unicode in format strings?
8734
        // We're dealing with text, so we probably do.
8735
        // We could do codeunit-to-codeunit matching,
8736
        // but that could get messy wrt. whitespace matching.
8737
        // It's simpler to not allow nonsense.
8738
        while (begin != end) {
8739
            const auto len = code_point_length_by_starting_code_unit(*begin);
8740
            if (SCN_UNLIKELY(len == 0 ||
8741
                             static_cast<size_t>(end - begin) < len)) {
8742
                return on_error("Invalid encoding in format string");
8743
            }
8744
8745
            const auto cp = decode_code_point_exhaustive(
8746
                std::basic_string_view<CharT>{begin, len});
8747
            if (SCN_UNLIKELY(cp >= invalid_code_point)) {
8748
                return on_error("Invalid encoding in format string");
8749
            }
8750
8751
            begin += len;
8752
        }
8753
    }
8754
8755
    constexpr auto on_arg_id()
8756
    {
8757
        return m_parse_context.next_arg_id();
8758
    }
8759
    constexpr auto on_arg_id(std::size_t id)
8760
    {
8761
        m_parse_context.check_arg_id(id);
8762
        return id;
8763
    }
8764
8765
    constexpr void on_replacement_field(size_t id, const CharT* begin)
8766
    {
8767
        set_arg_as_read(id);
8768
8769
        auto type = m_types[id];
8770
        check_arg_can_be_read(type);
8771
8772
        if (type == arg_type::custom_type && id < num_args) {
8773
            // Only call scanner::parse to check for errors,
8774
            // we're discarding the result.
8775
            // The advance_to dance is done to point the parse context to the
8776
            // character after the `{`; right now, it points to that
8777
            const auto beg = begin;
8778
            m_parse_context.advance_to(begin);
8779
            m_parse_funcs[id](m_parse_context);
8780
            m_parse_context.advance_to(beg);
8781
        }
8782
    }
8783
8784
    constexpr const CharT* on_format_specs(std::size_t id,
8785
                                           const CharT* begin,
8786
                                           const CharT*)
8787
    {
8788
        set_arg_as_read(id);
8789
        check_arg_can_be_read(m_types[id]);
8790
8791
        m_parse_context.advance_to(begin);
8792
        return id < num_args ? m_parse_funcs[id](m_parse_context) : begin;
8793
    }
8794
8795
    constexpr void check_args_exhausted()
8796
    {
8797
        if constexpr (num_args == 0) {
8798
            return;
8799
        }
8800
        for (auto is_set : m_visited_args) {
8801
            if (!is_set) {
8802
                return on_error("Argument list not exhausted");
8803
            }
8804
        }
8805
    }
8806
8807
    void on_error(const char* msg)
8808
    {
8809
        SCN_UNLIKELY_ATTR
8810
        m_parse_context.on_error(msg);
8811
    }
8812
8813
    // Only to satisfy the concept and eliminate compiler errors,
8814
    // because errors are reported by failing to compile on_error above
8815
    // (it's not constexpr)
8816
    constexpr scan_expected<void> get_error() const
8817
    {
8818
        return {};
8819
    }
8820
8821
private:
8822
    constexpr void set_arg_as_read(size_t id)
8823
    {
8824
        if (id >= num_args) {
8825
            return on_error("Invalid out-of-range argument ID");
8826
        }
8827
        if (m_visited_args[id]) {
8828
            return on_error("Argument with this ID already scanned");
8829
        }
8830
        m_visited_args[id] = true;
8831
    }
8832
8833
    constexpr void check_arg_can_be_read(arg_type type)
8834
    {
8835
        if (type == arg_type::string_view_type &&
8836
            !m_parse_context.is_source_contiguous()) {
8837
            // clang-format off
8838
            return on_error("Cannot read a string_view from a non-contiguous source");
8839
            // clang-format on
8840
        }
8841
        if (type == arg_type::string_view_type &&
8842
            !m_parse_context.is_source_borrowed()) {
8843
            // clang-format off
8844
            return on_error("Cannot read a string_view from a non-borrowed source");
8845
            // clang-format on
8846
        }
8847
    }
8848
8849
    using parse_func = const CharT* (*)(parse_context_type&);
8850
8851
    parse_context_type m_parse_context;
8852
    parse_func m_parse_funcs[num_args > 0 ? num_args : 1];
8853
    arg_type m_types[num_args > 0 ? num_args : 1];
8854
    bool m_visited_args[num_args > 0 ? num_args : 1] = {false};
8855
};
8856
8857
template <typename Source, typename... Args, typename Str>
8858
constexpr auto check_format_string(const Str&)
8859
    -> std::enable_if_t<!is_compile_string_v<Str>>
8860
0
{
8861
    // TODO: SCN_ENFORE_COMPILE_STRING?
8862
#if 0  // SCN_ENFORE_COMPILE_STRING
8863
    static_assert(dependent_false<Str>::value,
8864
              "SCN_ENFORCE_COMPILE_STRING requires all format "
8865
              "strings to use SCN_STRING.");
8866
#endif
8867
0
}
Unexecuted instantiation: std::__1::enable_if<!(is_compile_string_v<char [9]>), void>::type scn::v4::detail::check_format_string<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, char [9]>(char const (&) [9])
Unexecuted instantiation: std::__1::enable_if<!(is_compile_string_v<char [3]>), void>::type scn::v4::detail::check_format_string<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, double, char [3]>(char const (&) [3])
Unexecuted instantiation: std::__1::enable_if<!(is_compile_string_v<char [19]>), void>::type scn::v4::detail::check_format_string<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, char [19]>(char const (&) [19])
Unexecuted instantiation: std::__1::enable_if<!(is_compile_string_v<char [9]>), void>::type scn::v4::detail::check_format_string<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, char [9]>(char const (&) [9])
Unexecuted instantiation: std::__1::enable_if<!(is_compile_string_v<char [19]>), void>::type scn::v4::detail::check_format_string<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, char [19]>(char const (&) [19])
Unexecuted instantiation: std::__1::enable_if<!(is_compile_string_v<wchar_t [9]>), void>::type scn::v4::detail::check_format_string<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, wchar_t [9]>(wchar_t const (&) [9])
Unexecuted instantiation: std::__1::enable_if<!(is_compile_string_v<wchar_t [19]>), void>::type scn::v4::detail::check_format_string<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, wchar_t [19]>(wchar_t const (&) [19])
Unexecuted instantiation: std::__1::enable_if<!(is_compile_string_v<wchar_t [9]>), void>::type scn::v4::detail::check_format_string<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, wchar_t [9]>(wchar_t const (&) [9])
Unexecuted instantiation: std::__1::enable_if<!(is_compile_string_v<wchar_t [19]>), void>::type scn::v4::detail::check_format_string<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, wchar_t [19]>(wchar_t const (&) [19])
8868
8869
template <typename Source, typename... Args, typename Str>
8870
constexpr auto check_format_string(Str format_str)
8871
    -> std::enable_if_t<is_compile_string_v<Str>>
8872
{
8873
    using char_type = typename Str::char_type;
8874
8875
    SCN_GCC_PUSH
8876
    SCN_GCC_IGNORE("-Wconversion")
8877
    constexpr auto s = std::basic_string_view<char_type>{format_str};
8878
    SCN_GCC_POP
8879
8880
    using checker = format_string_checker<char_type, Source, Args...>;
8881
    constexpr bool invalid_format =
8882
        (parse_format_string<true>(s, checker(s)), true);
8883
    SCN_UNUSED(invalid_format);
8884
}
8885
8886
template <typename CharT, std::size_t N>
8887
constexpr std::basic_string_view<CharT> compile_string_to_view(
8888
    const CharT (&s)[N])
8889
{
8890
    return {s, N - 1};
8891
}
8892
template <typename CharT>
8893
constexpr std::basic_string_view<CharT> compile_string_to_view(
8894
    std::basic_string_view<CharT> s)
8895
{
8896
    return s;
8897
}
8898
}  // namespace detail
8899
8900
#define SCN_STRING_IMPL(s, base, expl)                                       \
8901
    [] {                                                                     \
8902
        struct SCN_COMPILE_STRING : base {                                   \
8903
            using char_type = ::scn::detail::remove_cvref_t<decltype(s[0])>; \
8904
            SCN_MAYBE_UNUSED constexpr expl                                  \
8905
            operator ::std::basic_string_view<char_type>() const             \
8906
            {                                                                \
8907
                return ::scn::detail::compile_string_to_view<char_type>(s);  \
8908
            }                                                                \
8909
        };                                                                   \
8910
        return SCN_COMPILE_STRING{};                                         \
8911
    }()
8912
8913
#define SCN_STRING(s) SCN_STRING_IMPL(s, ::scn::detail::compile_string, )
8914
8915
/**
8916
 * Compile-time format string
8917
 *
8918
 * \ingroup format-string
8919
 */
8920
template <typename CharT, typename Source, typename... Args>
8921
class basic_scan_format_string {
8922
public:
8923
    SCN_CLANG_PUSH
8924
#if SCN_CLANG >= SCN_COMPILER(10, 0, 0)
8925
    SCN_CLANG_IGNORE("-Wc++20-compat")  // false positive about consteval
8926
#endif
8927
    template <
8928
        typename S,
8929
        std::enable_if_t<
8930
            std::is_convertible_v<const S&, std::basic_string_view<CharT>> &&
8931
            detail::is_not_self<S, basic_scan_format_string>>* = nullptr>
8932
0
    SCN_CONSTEVAL basic_scan_format_string(const S& s) : m_str(s)
8933
0
    {
8934
#if SCN_HAS_CONSTEVAL
8935
        using checker = detail::format_string_checker<CharT, Source, Args...>;
8936
        const auto e = detail::parse_format_string<true>(m_str, checker(s));
8937
        SCN_UNUSED(e);
8938
#else
8939
0
        detail::check_format_string<Source, Args...>(s);
8940
0
#endif
8941
0
    }
Unexecuted instantiation: _ZN3scn2v424basic_scan_format_stringIcNS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS2_18default_sentinel_tEEEJNSt3__112basic_stringIcNSC_11char_traitsIcEENSC_9allocatorIcEEEEEEC2IA9_cTnPNSC_9enable_ifIXaasr3stdE16is_convertible_vIRKT_NSC_17basic_string_viewIcSF_EEEsr6detailE11is_not_selfISN_SJ_EEvE4typeELPv0EEESP_
Unexecuted instantiation: _ZN3scn2v424basic_scan_format_stringIcRNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEJdEEC2IA3_cTnPNS2_9enable_ifIXaasr3stdE16is_convertible_vIRKT_NS2_17basic_string_viewIcS5_EEEsr6detailE11is_not_selfISE_SA_EEvE4typeELPv0EEESG_
Unexecuted instantiation: _ZN3scn2v424basic_scan_format_stringIcNS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS2_18default_sentinel_tEEEJNSt3__112basic_stringIcNSC_11char_traitsIcEENSC_9allocatorIcEEEEEEC2IA19_cTnPNSC_9enable_ifIXaasr3stdE16is_convertible_vIRKT_NSC_17basic_string_viewIcSF_EEEsr6detailE11is_not_selfISN_SJ_EEvE4typeELPv0EEESP_
Unexecuted instantiation: _ZN3scn2v424basic_scan_format_stringIcNS0_6ranges6detail9subrange_8subrangeIPKcS7_EEJNSt3__112basic_stringIcNS9_11char_traitsIcEENS9_9allocatorIcEEEEEEC2IA9_cTnPNS9_9enable_ifIXaasr3stdE16is_convertible_vIRKT_NS9_17basic_string_viewIcSC_EEEsr6detailE11is_not_selfISK_SG_EEvE4typeELPv0EEESM_
Unexecuted instantiation: _ZN3scn2v424basic_scan_format_stringIcNS0_6ranges6detail9subrange_8subrangeIPKcS7_EEJNSt3__112basic_stringIcNS9_11char_traitsIcEENS9_9allocatorIcEEEEEEC2IA19_cTnPNS9_9enable_ifIXaasr3stdE16is_convertible_vIRKT_NS9_17basic_string_viewIcSC_EEEsr6detailE11is_not_selfISK_SG_EEvE4typeELPv0EEESM_
Unexecuted instantiation: _ZN3scn2v424basic_scan_format_stringIwNS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS2_18default_sentinel_tEEEJNSt3__112basic_stringIcNSC_11char_traitsIcEENSC_9allocatorIcEEEEEEC2IA9_wTnPNSC_9enable_ifIXaasr3stdE16is_convertible_vIRKT_NSC_17basic_string_viewIwNSE_IwEEEEEsr6detailE11is_not_selfISN_SJ_EEvE4typeELPv0EEESP_
Unexecuted instantiation: _ZN3scn2v424basic_scan_format_stringIwNS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS2_18default_sentinel_tEEEJNSt3__112basic_stringIcNSC_11char_traitsIcEENSC_9allocatorIcEEEEEEC2IA19_wTnPNSC_9enable_ifIXaasr3stdE16is_convertible_vIRKT_NSC_17basic_string_viewIwNSE_IwEEEEEsr6detailE11is_not_selfISN_SJ_EEvE4typeELPv0EEESP_
Unexecuted instantiation: _ZN3scn2v424basic_scan_format_stringIwNS0_6ranges6detail9subrange_8subrangeIPKwS7_EEJNSt3__112basic_stringIcNS9_11char_traitsIcEENS9_9allocatorIcEEEEEEC2IA9_wTnPNS9_9enable_ifIXaasr3stdE16is_convertible_vIRKT_NS9_17basic_string_viewIwNSB_IwEEEEEsr6detailE11is_not_selfISK_SG_EEvE4typeELPv0EEESM_
Unexecuted instantiation: _ZN3scn2v424basic_scan_format_stringIwNS0_6ranges6detail9subrange_8subrangeIPKwS7_EEJNSt3__112basic_stringIcNS9_11char_traitsIcEENS9_9allocatorIcEEEEEEC2IA19_wTnPNS9_9enable_ifIXaasr3stdE16is_convertible_vIRKT_NS9_17basic_string_viewIwNSB_IwEEEEEsr6detailE11is_not_selfISK_SG_EEvE4typeELPv0EEESM_
8942
    SCN_CLANG_POP
8943
8944
    template <
8945
        typename OtherSource,
8946
        std::enable_if_t<std::is_same_v<detail::remove_cvref_t<Source>,
8947
                                        detail::remove_cvref_t<OtherSource>> &&
8948
                         ranges::borrowed_range<Source> ==
8949
                             ranges::borrowed_range<OtherSource>>* = nullptr>
8950
    constexpr basic_scan_format_string(
8951
        const basic_scan_format_string<CharT, OtherSource, Args...>& other)
8952
        : m_str(other.get())
8953
    {
8954
    }
8955
8956
    basic_scan_format_string(detail::basic_runtime_format_string<CharT> r)
8957
1.17M
        : m_str(r.str)
8958
1.17M
    {
8959
1.17M
    }
scn::v4::basic_scan_format_string<char, scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<char>)
Line
Count
Source
8957
67.9k
        : m_str(r.str)
8958
67.9k
    {
8959
67.9k
    }
scn::v4::basic_scan_format_string<char, scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<char>)
Line
Count
Source
8957
59.8k
        : m_str(r.str)
8958
59.8k
    {
8959
59.8k
    }
scn::v4::basic_scan_format_string<char, scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<char>)
Line
Count
Source
8957
79.5k
        : m_str(r.str)
8958
79.5k
    {
8959
79.5k
    }
scn::v4::basic_scan_format_string<char, scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<char>)
Line
Count
Source
8957
64.8k
        : m_str(r.str)
8958
64.8k
    {
8959
64.8k
    }
scn::v4::basic_scan_format_string<char, scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<char>)
Line
Count
Source
8957
80.8k
        : m_str(r.str)
8958
80.8k
    {
8959
80.8k
    }
scn::v4::basic_scan_format_string<char, scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<char>)
Line
Count
Source
8957
65.5k
        : m_str(r.str)
8958
65.5k
    {
8959
65.5k
    }
scn::v4::basic_scan_format_string<char, scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<char>)
Line
Count
Source
8957
67.9k
        : m_str(r.str)
8958
67.9k
    {
8959
67.9k
    }
scn::v4::basic_scan_format_string<char, scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<char>)
Line
Count
Source
8957
59.8k
        : m_str(r.str)
8958
59.8k
    {
8959
59.8k
    }
scn::v4::basic_scan_format_string<char, scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<char>)
Line
Count
Source
8957
79.2k
        : m_str(r.str)
8958
79.2k
    {
8959
79.2k
    }
scn::v4::basic_scan_format_string<char, scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<char>)
Line
Count
Source
8957
64.9k
        : m_str(r.str)
8958
64.9k
    {
8959
64.9k
    }
scn::v4::basic_scan_format_string<char, scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<char>)
Line
Count
Source
8957
80.6k
        : m_str(r.str)
8958
80.6k
    {
8959
80.6k
    }
scn::v4::basic_scan_format_string<char, scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<char>)
Line
Count
Source
8957
65.6k
        : m_str(r.str)
8958
65.6k
    {
8959
65.6k
    }
scn::v4::basic_scan_format_string<wchar_t, scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
8957
27.9k
        : m_str(r.str)
8958
27.9k
    {
8959
27.9k
    }
scn::v4::basic_scan_format_string<wchar_t, scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
8957
27.8k
        : m_str(r.str)
8958
27.8k
    {
8959
27.8k
    }
scn::v4::basic_scan_format_string<wchar_t, scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
8957
28.0k
        : m_str(r.str)
8958
28.0k
    {
8959
28.0k
    }
scn::v4::basic_scan_format_string<wchar_t, scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
8957
27.9k
        : m_str(r.str)
8958
27.9k
    {
8959
27.9k
    }
scn::v4::basic_scan_format_string<wchar_t, scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
8957
28.1k
        : m_str(r.str)
8958
28.1k
    {
8959
28.1k
    }
scn::v4::basic_scan_format_string<wchar_t, scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
8957
28.0k
        : m_str(r.str)
8958
28.0k
    {
8959
28.0k
    }
scn::v4::basic_scan_format_string<wchar_t, scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
8957
27.9k
        : m_str(r.str)
8958
27.9k
    {
8959
27.9k
    }
scn::v4::basic_scan_format_string<wchar_t, scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
8957
27.8k
        : m_str(r.str)
8958
27.8k
    {
8959
27.8k
    }
scn::v4::basic_scan_format_string<wchar_t, scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
8957
28.0k
        : m_str(r.str)
8958
28.0k
    {
8959
28.0k
    }
scn::v4::basic_scan_format_string<wchar_t, scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
8957
27.9k
        : m_str(r.str)
8958
27.9k
    {
8959
27.9k
    }
scn::v4::basic_scan_format_string<wchar_t, scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
8957
28.1k
        : m_str(r.str)
8958
28.1k
    {
8959
28.1k
    }
scn::v4::basic_scan_format_string<wchar_t, scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
8957
28.0k
        : m_str(r.str)
8958
28.0k
    {
8959
28.0k
    }
8960
8961
    constexpr operator std::basic_string_view<CharT>() const
8962
1.17M
    {
8963
1.17M
        return m_str;
8964
1.17M
    }
scn::v4::basic_scan_format_string<char, scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
8962
67.9k
    {
8963
67.9k
        return m_str;
8964
67.9k
    }
scn::v4::basic_scan_format_string<char, scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
8962
59.8k
    {
8963
59.8k
        return m_str;
8964
59.8k
    }
scn::v4::basic_scan_format_string<char, scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
8962
79.5k
    {
8963
79.5k
        return m_str;
8964
79.5k
    }
scn::v4::basic_scan_format_string<char, scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
8962
64.8k
    {
8963
64.8k
        return m_str;
8964
64.8k
    }
scn::v4::basic_scan_format_string<char, scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
8962
80.8k
    {
8963
80.8k
        return m_str;
8964
80.8k
    }
scn::v4::basic_scan_format_string<char, scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
8962
65.5k
    {
8963
65.5k
        return m_str;
8964
65.5k
    }
scn::v4::basic_scan_format_string<char, scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
8962
67.9k
    {
8963
67.9k
        return m_str;
8964
67.9k
    }
scn::v4::basic_scan_format_string<char, scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
8962
59.8k
    {
8963
59.8k
        return m_str;
8964
59.8k
    }
scn::v4::basic_scan_format_string<char, scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
8962
79.2k
    {
8963
79.2k
        return m_str;
8964
79.2k
    }
scn::v4::basic_scan_format_string<char, scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
8962
64.9k
    {
8963
64.9k
        return m_str;
8964
64.9k
    }
scn::v4::basic_scan_format_string<char, scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
8962
80.6k
    {
8963
80.6k
        return m_str;
8964
80.6k
    }
scn::v4::basic_scan_format_string<char, scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
8962
65.6k
    {
8963
65.6k
        return m_str;
8964
65.6k
    }
scn::v4::basic_scan_format_string<wchar_t, scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
8962
27.9k
    {
8963
27.9k
        return m_str;
8964
27.9k
    }
scn::v4::basic_scan_format_string<wchar_t, scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
8962
27.8k
    {
8963
27.8k
        return m_str;
8964
27.8k
    }
scn::v4::basic_scan_format_string<wchar_t, scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
8962
28.0k
    {
8963
28.0k
        return m_str;
8964
28.0k
    }
scn::v4::basic_scan_format_string<wchar_t, scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
8962
27.9k
    {
8963
27.9k
        return m_str;
8964
27.9k
    }
scn::v4::basic_scan_format_string<wchar_t, scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
8962
28.1k
    {
8963
28.1k
        return m_str;
8964
28.1k
    }
scn::v4::basic_scan_format_string<wchar_t, scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
8962
28.0k
    {
8963
28.0k
        return m_str;
8964
28.0k
    }
scn::v4::basic_scan_format_string<wchar_t, scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
8962
27.9k
    {
8963
27.9k
        return m_str;
8964
27.9k
    }
scn::v4::basic_scan_format_string<wchar_t, scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
8962
27.8k
    {
8963
27.8k
        return m_str;
8964
27.8k
    }
scn::v4::basic_scan_format_string<wchar_t, scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
8962
28.0k
    {
8963
28.0k
        return m_str;
8964
28.0k
    }
scn::v4::basic_scan_format_string<wchar_t, scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
8962
27.9k
    {
8963
27.9k
        return m_str;
8964
27.9k
    }
scn::v4::basic_scan_format_string<wchar_t, scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
8962
28.1k
    {
8963
28.1k
        return m_str;
8964
28.1k
    }
scn::v4::basic_scan_format_string<wchar_t, scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
8962
28.0k
    {
8963
28.0k
        return m_str;
8964
28.0k
    }
Unexecuted instantiation: scn::v4::basic_scan_format_string<char, scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Unexecuted instantiation: scn::v4::basic_scan_format_string<char, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, double>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Unexecuted instantiation: scn::v4::basic_scan_format_string<char, scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Unexecuted instantiation: scn::v4::basic_scan_format_string<wchar_t, scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Unexecuted instantiation: scn::v4::basic_scan_format_string<wchar_t, scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
8965
    constexpr std::basic_string_view<CharT> get() const
8966
    {
8967
        return m_str;
8968
    }
8969
8970
private:
8971
    std::basic_string_view<CharT> m_str;
8972
};
8973
8974
namespace detail {
8975
class locale_ref {
8976
#if !SCN_DISABLE_LOCALE
8977
public:
8978
826k
    constexpr locale_ref() = default;
8979
8980
    template <typename Locale>
8981
    explicit locale_ref(const Locale& loc);
8982
8983
    constexpr explicit operator bool() const noexcept
8984
0
    {
8985
0
        return m_locale != nullptr;
8986
0
    }
8987
8988
    template <typename Locale>
8989
    Locale get() const;
8990
8991
private:
8992
    const void* m_locale{nullptr};
8993
#else
8994
public:
8995
    constexpr locale_ref() = default;
8996
8997
    template <typename T>
8998
    constexpr explicit locale_ref(T&&)
8999
    {
9000
    }
9001
9002
    constexpr explicit operator bool() const noexcept
9003
    {
9004
        return true;
9005
    }
9006
#endif
9007
};
9008
}  // namespace detail
9009
9010
/////////////////////////////////////////////////////////////////
9011
// scan_context
9012
/////////////////////////////////////////////////////////////////
9013
9014
namespace detail {
9015
template <typename I>
9016
using apply_cmp_with_nullptr = decltype(SCN_DECLVAL(const I&) == nullptr);
9017
template <typename I>
9018
inline constexpr bool is_comparable_with_nullptr =
9019
    mp_valid_v<apply_cmp_with_nullptr, I>;
9020
9021
template <typename Args>
9022
class scan_context_base {
9023
public:
9024
    /// Get argument at index `id`
9025
    constexpr auto arg(size_t id) const noexcept
9026
1.01M
    {
9027
1.01M
        return m_args.get(id);
9028
1.01M
    }
scn::v4::detail::scan_context_base<scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >::arg(unsigned long) const
Line
Count
Source
9026
710k
    {
9027
710k
        return m_args.get(id);
9028
710k
    }
scn::v4::detail::scan_context_base<scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >::arg(unsigned long) const
Line
Count
Source
9026
302k
    {
9027
302k
        return m_args.get(id);
9028
302k
    }
9029
9030
    constexpr const Args& args() const
9031
0
    {
9032
0
        return m_args;
9033
0
    }
Unexecuted instantiation: scn::v4::detail::scan_context_base<scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >::args() const
Unexecuted instantiation: scn::v4::detail::scan_context_base<scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >::args() const
9034
9035
    SCN_NODISCARD constexpr locale_ref locale() const
9036
863k
    {
9037
863k
        return m_locale;
9038
863k
    }
scn::v4::detail::scan_context_base<scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >::locale() const
Line
Count
Source
9036
660k
    {
9037
660k
        return m_locale;
9038
660k
    }
scn::v4::detail::scan_context_base<scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >::locale() const
Line
Count
Source
9036
202k
    {
9037
202k
        return m_locale;
9038
202k
    }
9039
9040
protected:
9041
    scan_context_base(Args args, locale_ref loc) noexcept
9042
1.01M
        : m_args(SCN_MOVE(args)), m_locale(SCN_MOVE(loc))
9043
1.01M
    {
9044
1.01M
    }
scn::v4::detail::scan_context_base<scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >::scan_context_base(scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >, scn::v4::detail::locale_ref)
Line
Count
Source
9042
710k
        : m_args(SCN_MOVE(args)), m_locale(SCN_MOVE(loc))
9043
710k
    {
9044
710k
    }
scn::v4::detail::scan_context_base<scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >::scan_context_base(scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >, scn::v4::detail::locale_ref)
Line
Count
Source
9042
302k
        : m_args(SCN_MOVE(args)), m_locale(SCN_MOVE(loc))
9043
302k
    {
9044
302k
    }
9045
9046
    Args m_args;
9047
    locale_ref m_locale;
9048
};
9049
}  // namespace detail
9050
9051
/**
9052
 * \defgroup ctx Contexts and scanners
9053
 *
9054
 * \brief Lower-level APIs used for scanning individual values
9055
 *
9056
 * \section user-defined Scanning user-defined types
9057
 *
9058
 * User-defined types can be scanned by specializing the class template
9059
 * `scn::scanner`.
9060
 *
9061
 * \code{.cpp}
9062
 * struct mytype {
9063
 *   int key;
9064
 *   std::string value;
9065
 * };
9066
 *
9067
 * template <>
9068
 * struct scn::scanner<mytype> {
9069
 *   template <typename ParseContext>
9070
 *   constexpr auto parse(ParseCtx& pctx)
9071
 *     -> typename ParseContext::iterator {
9072
 *     // parse() implementation just returning begin():
9073
 *     // only permits empty format specifiers
9074
 *     return pctx.begin();
9075
 *   }
9076
 *
9077
 *   template <typename Context>
9078
 *   auto scan(mytype& val, Context& ctx)
9079
 *     -> scan_expected<typename Context::iterator> {
9080
 *     return scn::scan<int, std::string>(ctx.range(), "{}: {}")
9081
 *       .transform([&](auto result) {
9082
 *         std::tie(val.key, val.value) = std::move(result->values());
9083
 *         return result.begin();
9084
 *       });
9085
 *   }
9086
 * };
9087
 * \endcode
9088
 *
9089
 * See also
9090
 * \ref g-usertypes
9091
 */
9092
9093
/**
9094
 * Scanning context.
9095
 *
9096
 * \ingroup ctx
9097
 */
9098
template <typename Range, typename CharT>
9099
class basic_scan_context
9100
    : public detail::scan_context_base<
9101
          basic_scan_args<basic_scan_context<Range, CharT>>> {
9102
    using base = detail::scan_context_base<basic_scan_args<basic_scan_context>>;
9103
9104
    using args_type = basic_scan_args<basic_scan_context>;
9105
    using arg_type = basic_scan_arg<basic_scan_context>;
9106
9107
public:
9108
    /// Character type of the input
9109
    using char_type = CharT;
9110
    using range_type = std::conditional_t<
9111
        std::is_same_v<Range, detail::buffer_range_tag>,
9112
        typename detail::basic_scan_buffer<char_type>::range_type,
9113
        Range>;
9114
    using iterator = ranges::iterator_t<range_type>;
9115
    using sentinel = ranges::sentinel_t<range_type>;
9116
    using parse_context_type = basic_scan_parse_context<char_type>;
9117
9118
    /**
9119
     * The scanner type associated with this scanning context.
9120
     */
9121
    template <typename T>
9122
    using scanner_type = scanner<T, char_type>;
9123
9124
    constexpr basic_scan_context(iterator curr,
9125
                                 args_type a,
9126
                                 detail::locale_ref loc = {}) noexcept
9127
506k
        : base(SCN_MOVE(a), loc), m_current(curr)
9128
506k
    {
9129
506k
    }
scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>::basic_scan_context(scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >, scn::v4::detail::locale_ref)
Line
Count
Source
9127
355k
        : base(SCN_MOVE(a), loc), m_current(curr)
9128
355k
    {
9129
355k
    }
scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>::basic_scan_context(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >, scn::v4::detail::locale_ref)
Line
Count
Source
9127
151k
        : base(SCN_MOVE(a), loc), m_current(curr)
9128
151k
    {
9129
151k
    }
9130
9131
    basic_scan_context(const basic_scan_context&) = delete;
9132
    basic_scan_context& operator=(const basic_scan_context&) = delete;
9133
9134
    basic_scan_context(basic_scan_context&&) = default;
9135
    basic_scan_context& operator=(basic_scan_context&&) = default;
9136
    ~basic_scan_context() = default;
9137
9138
    /**
9139
     * Returns an iterator pointing to the current position in the source
9140
     * range.
9141
     */
9142
    constexpr iterator begin() const
9143
1.22M
    {
9144
1.22M
        return m_current;
9145
1.22M
    }
scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>::begin() const
Line
Count
Source
9143
967k
    {
9144
967k
        return m_current;
9145
967k
    }
scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>::begin() const
Line
Count
Source
9143
254k
    {
9144
254k
        return m_current;
9145
254k
    }
9146
9147
    /**
9148
     * Returns a sentinel pointing to the end of the source range.
9149
     */
9150
    constexpr sentinel end() const
9151
432k
    {
9152
432k
        return ranges::default_sentinel;
9153
432k
    }
scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>::end() const
Line
Count
Source
9151
330k
    {
9152
330k
        return ranges::default_sentinel;
9153
330k
    }
scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>::end() const
Line
Count
Source
9151
101k
    {
9152
101k
        return ranges::default_sentinel;
9153
101k
    }
9154
9155
    /**
9156
     * Returns a subrange over `[begin(), end())`
9157
     */
9158
    constexpr auto range() const
9159
432k
    {
9160
432k
        return ranges::subrange{begin(), end()};
9161
432k
    }
scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>::range() const
Line
Count
Source
9159
330k
    {
9160
330k
        return ranges::subrange{begin(), end()};
9161
330k
    }
scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>::range() const
Line
Count
Source
9159
101k
    {
9160
101k
        return ranges::subrange{begin(), end()};
9161
101k
    }
9162
9163
    /// Advances the beginning of the source range to `it`
9164
    void advance_to(iterator it)
9165
283k
    {
9166
283k
        m_current = SCN_MOVE(it);
9167
283k
    }
scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>::advance_to(scn::v4::detail::basic_scan_buffer<char>::forward_iterator)
Line
Count
Source
9165
281k
    {
9166
281k
        m_current = SCN_MOVE(it);
9167
281k
    }
scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>::advance_to(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator)
Line
Count
Source
9165
2.40k
    {
9166
2.40k
        m_current = SCN_MOVE(it);
9167
2.40k
    }
9168
9169
private:
9170
    iterator m_current;
9171
};
9172
9173
namespace detail {
9174
template <typename T, typename ParseCtx>
9175
constexpr typename ParseCtx::iterator scanner_parse_for_builtin_type(
9176
    ParseCtx& pctx,
9177
    format_specs& specs);
9178
9179
template <typename T, typename Context>
9180
scan_expected<typename Context::iterator>
9181
scanner_scan_for_builtin_type(T& val, Context& ctx, const format_specs& specs);
9182
9183
template <typename T, typename CharT>
9184
struct builtin_scanner {
9185
    template <typename ParseCtx>
9186
    constexpr auto parse(ParseCtx& pctx) -> typename ParseCtx::iterator
9187
    {
9188
        return detail::scanner_parse_for_builtin_type<T>(pctx, m_specs);
9189
    }
9190
9191
    template <typename Context>
9192
    scan_expected<typename Context::iterator> scan(T& val, Context& ctx) const
9193
    {
9194
        return detail::scanner_scan_for_builtin_type(val, ctx, m_specs);
9195
    }
9196
9197
protected:
9198
    format_specs m_specs;
9199
};
9200
}  // namespace detail
9201
9202
/////////////////////////////////////////////////////////////////
9203
// scanner
9204
/////////////////////////////////////////////////////////////////
9205
9206
/**
9207
 * `scanner` specialization for all built-in types
9208
 *
9209
 * \ingroup ctx
9210
 */
9211
template <typename T, typename CharT>
9212
struct scanner<T,
9213
               CharT,
9214
               std::enable_if_t<detail::arg_type_constant<T, CharT>::value !=
9215
                                    detail::arg_type::custom_type &&
9216
                                !detail::is_type_disabled<T>>>
9217
    : detail::builtin_scanner<T, CharT> {};
9218
9219
namespace detail {
9220
template <typename T, typename ParseCtx>
9221
constexpr typename ParseCtx::iterator scanner_parse_for_builtin_type(
9222
    ParseCtx& pctx,
9223
    format_specs& specs)
9224
{
9225
    using char_type = typename ParseCtx::char_type;
9226
9227
    auto begin = pctx.begin();
9228
    const auto end = pctx.end();
9229
9230
    using handler_type = specs_setter;
9231
    constexpr auto type = arg_type_constant<T, char_type>::value;
9232
    auto checker =
9233
        detail::specs_checker<handler_type>(handler_type(specs), type);
9234
9235
    const auto it =
9236
        detail::parse_format_specs(to_address(begin), to_address(end), checker);
9237
9238
    switch (type) {
9239
        case arg_type::none_type:
9240
            SCN_FALLTHROUGH;
9241
        case arg_type::custom_type:
9242
            SCN_ENSURE(false);
9243
            break;
9244
9245
        case arg_type::bool_type:
9246
            check_bool_type_specs(specs, checker);
9247
            break;
9248
9249
        case arg_type::schar_type:
9250
        case arg_type::short_type:
9251
        case arg_type::int_type:
9252
        case arg_type::long_type:
9253
        case arg_type::llong_type:
9254
        case arg_type::int128_type:
9255
        case arg_type::uchar_type:
9256
        case arg_type::ushort_type:
9257
        case arg_type::uint_type:
9258
        case arg_type::ulong_type:
9259
        case arg_type::ullong_type:
9260
        case arg_type::uint128_type:
9261
            check_int_type_specs(specs, checker);
9262
            break;
9263
9264
        case arg_type::narrow_character_type:
9265
        case arg_type::wide_character_type:
9266
        case arg_type::code_point_type:
9267
            check_char_type_specs(specs, checker);
9268
            break;
9269
9270
        case arg_type::float_type:
9271
        case arg_type::double_type:
9272
        case arg_type::ldouble_type:
9273
        case arg_type::float16_type:
9274
        case arg_type::float32_type:
9275
        case arg_type::float64_type:
9276
        case arg_type::float128_type:
9277
        case arg_type::bfloat16_type:
9278
            check_float_type_specs(specs, checker);
9279
            break;
9280
9281
        case arg_type::narrow_string_type:
9282
        case arg_type::wide_string_type:
9283
        case arg_type::string_view_type:
9284
            check_string_type_specs(specs, checker);
9285
            break;
9286
9287
        case arg_type::pointer_type:
9288
            check_pointer_type_specs(specs, checker);
9289
            break;
9290
9291
            SCN_CLANG_PUSH
9292
            SCN_CLANG_IGNORE("-Wcovered-switch-default")
9293
9294
        default:
9295
            SCN_ENSURE(false);
9296
            SCN_UNREACHABLE;
9297
9298
            SCN_CLANG_POP
9299
    }
9300
9301
#if !SCN_DISABLE_REGEX
9302
    if (specs.type == presentation_type::regex ||
9303
        specs.type == presentation_type::regex_escaped) {
9304
        if (!pctx.is_source_contiguous()) {
9305
            SCN_UNLIKELY_ATTR
9306
            // clang-format off
9307
            checker.on_error("Cannot read a regex from a non-contiguous source");
9308
            // clang-format on
9309
        }
9310
        if (!pctx.is_source_borrowed()) {
9311
            SCN_UNLIKELY_ATTR
9312
            checker.on_error("Cannot read a regex from a non-borrowed source");
9313
        }
9314
    }
9315
#endif
9316
9317
    return it;
9318
}
9319
}  // namespace detail
9320
9321
/**
9322
 * Type for discarding any scanned value.
9323
 * Example:
9324
 *
9325
 * \code{.cpp}
9326
 * auto r = scn::scan<scn::discard<int>>("42", "{}");
9327
 * // r.has_value() == true
9328
 * // decltype(r->value()) is scn::discard<int>
9329
 * \endcode
9330
 *
9331
 * \ingroup format-string
9332
 */
9333
template <typename T>
9334
struct discard {
9335
    constexpr discard() = default;
9336
9337
    constexpr discard(const T&) noexcept {}
9338
    constexpr discard(T&&) noexcept {}
9339
9340
    constexpr discard& operator=(const T&) noexcept
9341
    {
9342
        return *this;
9343
    }
9344
    constexpr discard& operator=(T&&) noexcept
9345
    {
9346
        return *this;
9347
    }
9348
};
9349
9350
template <typename T, typename CharT>
9351
struct scanner<discard<T>, CharT> : public scanner<T, CharT> {
9352
    template <typename Context>
9353
    auto scan(discard<T>&, Context& ctx) const
9354
    {
9355
        T val{};
9356
        return scanner<T, CharT>::scan(val, ctx);
9357
    }
9358
};
9359
9360
namespace detail {
9361
template <typename Range>
9362
scan_expected<ranges::iterator_t<Range>> internal_skip_classic_whitespace(
9363
    Range r,
9364
    bool allow_exhaustion);
9365
9366
#define SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(T, Context) \
9367
    extern template scan_expected<Context::iterator>         \
9368
    scanner_scan_for_builtin_type(T&, Context&, const format_specs&);
9369
9370
#if SCN_HAS_INT128
9371
#define SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_INT128(Context)   \
9372
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(int128, Context) \
9373
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(uint128, Context)
9374
#else
9375
#define SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_INT128(Context) /* int128 */
9376
#endif
9377
9378
#if SCN_HAS_STD_F16
9379
#define SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_F16(Context) \
9380
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(std::float16_t, Context)
9381
#else
9382
#define SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_F16(Context) /* std::float16_t */
9383
#endif
9384
9385
#if SCN_HAS_STD_F32
9386
#define SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_F32(Context) \
9387
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(std::float32_t, Context)
9388
#else
9389
#define SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_F32(Context) /* std::float32_t */
9390
#endif
9391
9392
#if SCN_HAS_STD_F64
9393
#define SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_F64(Context) \
9394
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(std::float64_t, Context)
9395
#else
9396
#define SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_F64(Context) /* std::float64_t */
9397
#endif
9398
9399
#if SCN_HAS_STD_F128
9400
#define SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_F128(Context) \
9401
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(std::float128_t, Context)
9402
#else
9403
#define SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_F128(Context)  /* std::float128_t \
9404
                                                            */
9405
#endif
9406
9407
#if SCN_HAS_STD_BF16
9408
#define SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_BF16(Context) \
9409
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(std::bfloat16_t, Context)
9410
#else
9411
#define SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_BF16(Context)  /* std::bfloat16_t \
9412
                                                            */
9413
#endif
9414
9415
#define SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_EXT_FLOAT(Context) \
9416
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_F16(Context)           \
9417
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_F32(Context)           \
9418
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_F64(Context)           \
9419
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_F128(Context)          \
9420
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_BF16(Context)
9421
9422
#define SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_CTX(Context)                   \
9423
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(char, Context)                \
9424
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(wchar_t, Context)             \
9425
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(signed char, Context)         \
9426
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(signed char, Context)         \
9427
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(short, Context)               \
9428
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(int, Context)                 \
9429
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(long, Context)                \
9430
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(long long, Context)           \
9431
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(unsigned char, Context)       \
9432
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(unsigned short, Context)      \
9433
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(unsigned int, Context)        \
9434
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(unsigned long, Context)       \
9435
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(unsigned long long, Context)  \
9436
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(float, Context)               \
9437
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(double, Context)              \
9438
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(long double, Context)         \
9439
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(std::string, Context)         \
9440
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(std::wstring, Context)        \
9441
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(                              \
9442
        std::basic_string_view<Context::char_type>, Context)               \
9443
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(regex_matches, Context)       \
9444
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(wregex_matches, Context)      \
9445
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_INT128(Context)                    \
9446
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_EXT_FLOAT(Context)                 \
9447
    extern template scan_expected<ranges::iterator_t<Context::range_type>> \
9448
    internal_skip_classic_whitespace(Context::range_type, bool);
9449
9450
SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_CTX(scan_context)
9451
9452
}  // namespace detail
9453
9454
/////////////////////////////////////////////////////////////////
9455
// visit_scan_arg
9456
/////////////////////////////////////////////////////////////////
9457
9458
namespace detail {
9459
9460
template <typename Visitor, typename Ctx>
9461
constexpr decltype(auto) visit_impl(Visitor&& vis, basic_scan_arg<Ctx>& arg)
9462
1.10M
{
9463
1.10M
#define SCN_VISIT(Type)                                                    \
9464
16.7M
    do {                                                                   \
9465
16.7M
        if constexpr (!detail::is_type_disabled<Type>) {                   \
9466
16.7M
            return vis(*static_cast<Type*>(get_arg_value(arg).ref_value)); \
9467
16.7M
        }                                                                  \
9468
16.7M
        else {                                                             \
9469
16.7M
            return vis(monostate_val);                                     \
9470
16.7M
        }                                                                  \
9471
16.7M
    } while (false)
9472
9473
1.10M
    monostate monostate_val{};
9474
9475
1.10M
    switch (get_arg_type(arg)) {
9476
180k
        case detail::arg_type::schar_type:
9477
180k
            SCN_VISIT(signed char);
9478
180k
        case detail::arg_type::short_type:
9479
180k
            SCN_VISIT(short);
9480
385k
        case detail::arg_type::int_type:
9481
385k
            SCN_VISIT(int);
9482
385k
        case detail::arg_type::long_type:
9483
385k
            SCN_VISIT(long);
9484
593k
        case detail::arg_type::llong_type:
9485
593k
            SCN_VISIT(long long);
9486
593k
        case detail::arg_type::int128_type:
9487
593k
#if SCN_HAS_INT128
9488
593k
            SCN_VISIT(int128);
9489
#else
9490
            return vis(monostate_val);
9491
#endif
9492
755k
        case detail::arg_type::uchar_type:
9493
755k
            SCN_VISIT(unsigned char);
9494
755k
        case detail::arg_type::ushort_type:
9495
755k
            SCN_VISIT(unsigned short);
9496
929k
        case detail::arg_type::uint_type:
9497
929k
            SCN_VISIT(unsigned);
9498
929k
        case detail::arg_type::ulong_type:
9499
929k
            SCN_VISIT(unsigned long);
9500
1.10M
        case detail::arg_type::ullong_type:
9501
1.10M
            SCN_VISIT(unsigned long long);
9502
1.10M
        case detail::arg_type::uint128_type:
9503
1.10M
#if SCN_HAS_INT128
9504
1.10M
            SCN_VISIT(uint128);
9505
#else
9506
            return vis(monostate_val);
9507
#endif
9508
1.10M
        case detail::arg_type::pointer_type:
9509
1.10M
            SCN_VISIT(void*);
9510
1.10M
        case detail::arg_type::bool_type:
9511
1.10M
            SCN_VISIT(bool);
9512
1.10M
        case detail::arg_type::narrow_character_type:
9513
1.10M
            SCN_VISIT(char);
9514
1.10M
        case detail::arg_type::wide_character_type:
9515
1.10M
            SCN_VISIT(wchar_t);
9516
1.10M
        case detail::arg_type::code_point_type:
9517
1.10M
            SCN_VISIT(char32_t);
9518
1.10M
        case detail::arg_type::float_type:
9519
1.10M
            SCN_VISIT(float);
9520
1.10M
        case detail::arg_type::double_type:
9521
1.10M
            SCN_VISIT(double);
9522
1.10M
        case detail::arg_type::ldouble_type:
9523
1.10M
            SCN_VISIT(long double);
9524
1.10M
        case detail::arg_type::float16_type:
9525
#if SCN_HAS_STD_F16
9526
            SCN_VISIT(std::float16_t);
9527
#else
9528
1.10M
            return vis(monostate_val);
9529
0
#endif
9530
0
        case detail::arg_type::float32_type:
9531
#if SCN_HAS_STD_F32
9532
            SCN_VISIT(std::float32_t);
9533
#else
9534
0
            return vis(monostate_val);
9535
0
#endif
9536
0
        case detail::arg_type::float64_type:
9537
#if SCN_HAS_STD_F64
9538
            SCN_VISIT(std::float64_t);
9539
#else
9540
0
            return vis(monostate_val);
9541
0
#endif
9542
0
        case detail::arg_type::float128_type:
9543
#if SCN_HAS_STD_F64
9544
            SCN_VISIT(std::float128_t);
9545
#else
9546
0
            return vis(monostate_val);
9547
0
#endif
9548
0
        case detail::arg_type::bfloat16_type:
9549
#if SCN_HAS_STD_BF16
9550
            SCN_VISIT(std::bfloat16_t);
9551
#else
9552
0
            return vis(monostate_val);
9553
0
#endif
9554
0
        case detail::arg_type::narrow_string_type:
9555
0
            SCN_VISIT(std::string);
9556
0
        case detail::arg_type::wide_string_type:
9557
0
            SCN_VISIT(std::wstring);
9558
0
        case detail::arg_type::string_view_type: {
9559
0
            if constexpr (std::is_same_v<typename Ctx::char_type, char>) {
9560
0
                SCN_VISIT(std::string_view);
9561
            }
9562
0
            else {
9563
0
                SCN_VISIT(std::wstring_view);
9564
0
            }
9565
0
        }
9566
9567
0
        case detail::arg_type::custom_type:
9568
0
#if !SCN_DISABLE_TYPE_CUSTOM
9569
0
            return vis(typename basic_scan_arg<Ctx>::handle(
9570
0
                get_arg_value(arg).custom_value));
9571
#else
9572
            return vis(monostate_val);
9573
#endif
9574
9575
0
            SCN_CLANG_PUSH
9576
0
            SCN_CLANG_IGNORE("-Wcovered-switch-default")
9577
9578
0
            SCN_UNLIKELY_ATTR
9579
0
        case detail::arg_type::none_type:
9580
0
        default: {
9581
0
            return vis(monostate_val);
9582
0
        }
9583
9584
1.10M
            SCN_CLANG_POP
9585
1.10M
    }
9586
9587
0
#undef SCN_VISIT
9588
9589
0
    SCN_ENSURE(false);
9590
0
    SCN_UNREACHABLE;
9591
0
}
decltype(auto) scn::v4::detail::visit_impl<scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >(scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >&&, scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >&)
Line
Count
Source
9462
95.4k
{
9463
95.4k
#define SCN_VISIT(Type)                                                    \
9464
95.4k
    do {                                                                   \
9465
95.4k
        if constexpr (!detail::is_type_disabled<Type>) {                   \
9466
95.4k
            return vis(*static_cast<Type*>(get_arg_value(arg).ref_value)); \
9467
95.4k
        }                                                                  \
9468
95.4k
        else {                                                             \
9469
95.4k
            return vis(monostate_val);                                     \
9470
95.4k
        }                                                                  \
9471
95.4k
    } while (false)
9472
9473
95.4k
    monostate monostate_val{};
9474
9475
95.4k
    switch (get_arg_type(arg)) {
9476
15.8k
        case detail::arg_type::schar_type:
9477
15.8k
            SCN_VISIT(signed char);
9478
15.8k
        case detail::arg_type::short_type:
9479
15.8k
            SCN_VISIT(short);
9480
34.2k
        case detail::arg_type::int_type:
9481
34.2k
            SCN_VISIT(int);
9482
34.2k
        case detail::arg_type::long_type:
9483
34.2k
            SCN_VISIT(long);
9484
52.9k
        case detail::arg_type::llong_type:
9485
52.9k
            SCN_VISIT(long long);
9486
52.9k
        case detail::arg_type::int128_type:
9487
52.9k
#if SCN_HAS_INT128
9488
52.9k
            SCN_VISIT(int128);
9489
#else
9490
            return vis(monostate_val);
9491
#endif
9492
66.1k
        case detail::arg_type::uchar_type:
9493
66.1k
            SCN_VISIT(unsigned char);
9494
66.1k
        case detail::arg_type::ushort_type:
9495
66.1k
            SCN_VISIT(unsigned short);
9496
80.7k
        case detail::arg_type::uint_type:
9497
80.7k
            SCN_VISIT(unsigned);
9498
80.7k
        case detail::arg_type::ulong_type:
9499
80.7k
            SCN_VISIT(unsigned long);
9500
95.4k
        case detail::arg_type::ullong_type:
9501
95.4k
            SCN_VISIT(unsigned long long);
9502
95.4k
        case detail::arg_type::uint128_type:
9503
95.4k
#if SCN_HAS_INT128
9504
95.4k
            SCN_VISIT(uint128);
9505
#else
9506
            return vis(monostate_val);
9507
#endif
9508
95.4k
        case detail::arg_type::pointer_type:
9509
95.4k
            SCN_VISIT(void*);
9510
95.4k
        case detail::arg_type::bool_type:
9511
95.4k
            SCN_VISIT(bool);
9512
95.4k
        case detail::arg_type::narrow_character_type:
9513
95.4k
            SCN_VISIT(char);
9514
95.4k
        case detail::arg_type::wide_character_type:
9515
95.4k
            SCN_VISIT(wchar_t);
9516
95.4k
        case detail::arg_type::code_point_type:
9517
95.4k
            SCN_VISIT(char32_t);
9518
95.4k
        case detail::arg_type::float_type:
9519
95.4k
            SCN_VISIT(float);
9520
95.4k
        case detail::arg_type::double_type:
9521
95.4k
            SCN_VISIT(double);
9522
95.4k
        case detail::arg_type::ldouble_type:
9523
95.4k
            SCN_VISIT(long double);
9524
95.4k
        case detail::arg_type::float16_type:
9525
#if SCN_HAS_STD_F16
9526
            SCN_VISIT(std::float16_t);
9527
#else
9528
95.4k
            return vis(monostate_val);
9529
0
#endif
9530
0
        case detail::arg_type::float32_type:
9531
#if SCN_HAS_STD_F32
9532
            SCN_VISIT(std::float32_t);
9533
#else
9534
0
            return vis(monostate_val);
9535
0
#endif
9536
0
        case detail::arg_type::float64_type:
9537
#if SCN_HAS_STD_F64
9538
            SCN_VISIT(std::float64_t);
9539
#else
9540
0
            return vis(monostate_val);
9541
0
#endif
9542
0
        case detail::arg_type::float128_type:
9543
#if SCN_HAS_STD_F64
9544
            SCN_VISIT(std::float128_t);
9545
#else
9546
0
            return vis(monostate_val);
9547
0
#endif
9548
0
        case detail::arg_type::bfloat16_type:
9549
#if SCN_HAS_STD_BF16
9550
            SCN_VISIT(std::bfloat16_t);
9551
#else
9552
0
            return vis(monostate_val);
9553
0
#endif
9554
0
        case detail::arg_type::narrow_string_type:
9555
0
            SCN_VISIT(std::string);
9556
0
        case detail::arg_type::wide_string_type:
9557
0
            SCN_VISIT(std::wstring);
9558
0
        case detail::arg_type::string_view_type: {
9559
0
            if constexpr (std::is_same_v<typename Ctx::char_type, char>) {
9560
0
                SCN_VISIT(std::string_view);
9561
            }
9562
            else {
9563
                SCN_VISIT(std::wstring_view);
9564
            }
9565
0
        }
9566
9567
0
        case detail::arg_type::custom_type:
9568
0
#if !SCN_DISABLE_TYPE_CUSTOM
9569
0
            return vis(typename basic_scan_arg<Ctx>::handle(
9570
0
                get_arg_value(arg).custom_value));
9571
#else
9572
            return vis(monostate_val);
9573
#endif
9574
9575
0
            SCN_CLANG_PUSH
9576
0
            SCN_CLANG_IGNORE("-Wcovered-switch-default")
9577
9578
0
            SCN_UNLIKELY_ATTR
9579
0
        case detail::arg_type::none_type:
9580
0
        default: {
9581
0
            return vis(monostate_val);
9582
0
        }
9583
9584
95.4k
            SCN_CLANG_POP
9585
95.4k
    }
9586
9587
0
#undef SCN_VISIT
9588
9589
0
    SCN_ENSURE(false);
9590
0
    SCN_UNREACHABLE;
9591
0
}
decltype(auto) scn::v4::detail::visit_impl<scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >(scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >&&, scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >&)
Line
Count
Source
9462
94.1k
{
9463
94.1k
#define SCN_VISIT(Type)                                                    \
9464
94.1k
    do {                                                                   \
9465
94.1k
        if constexpr (!detail::is_type_disabled<Type>) {                   \
9466
94.1k
            return vis(*static_cast<Type*>(get_arg_value(arg).ref_value)); \
9467
94.1k
        }                                                                  \
9468
94.1k
        else {                                                             \
9469
94.1k
            return vis(monostate_val);                                     \
9470
94.1k
        }                                                                  \
9471
94.1k
    } while (false)
9472
9473
94.1k
    monostate monostate_val{};
9474
9475
94.1k
    switch (get_arg_type(arg)) {
9476
15.8k
        case detail::arg_type::schar_type:
9477
15.8k
            SCN_VISIT(signed char);
9478
15.8k
        case detail::arg_type::short_type:
9479
15.8k
            SCN_VISIT(short);
9480
33.6k
        case detail::arg_type::int_type:
9481
33.6k
            SCN_VISIT(int);
9482
33.6k
        case detail::arg_type::long_type:
9483
33.6k
            SCN_VISIT(long);
9484
51.7k
        case detail::arg_type::llong_type:
9485
51.7k
            SCN_VISIT(long long);
9486
51.7k
        case detail::arg_type::int128_type:
9487
51.7k
#if SCN_HAS_INT128
9488
51.7k
            SCN_VISIT(int128);
9489
#else
9490
            return vis(monostate_val);
9491
#endif
9492
64.9k
        case detail::arg_type::uchar_type:
9493
64.9k
            SCN_VISIT(unsigned char);
9494
64.9k
        case detail::arg_type::ushort_type:
9495
64.9k
            SCN_VISIT(unsigned short);
9496
79.4k
        case detail::arg_type::uint_type:
9497
79.4k
            SCN_VISIT(unsigned);
9498
79.4k
        case detail::arg_type::ulong_type:
9499
79.4k
            SCN_VISIT(unsigned long);
9500
94.1k
        case detail::arg_type::ullong_type:
9501
94.1k
            SCN_VISIT(unsigned long long);
9502
94.1k
        case detail::arg_type::uint128_type:
9503
94.1k
#if SCN_HAS_INT128
9504
94.1k
            SCN_VISIT(uint128);
9505
#else
9506
            return vis(monostate_val);
9507
#endif
9508
94.1k
        case detail::arg_type::pointer_type:
9509
94.1k
            SCN_VISIT(void*);
9510
94.1k
        case detail::arg_type::bool_type:
9511
94.1k
            SCN_VISIT(bool);
9512
94.1k
        case detail::arg_type::narrow_character_type:
9513
94.1k
            SCN_VISIT(char);
9514
94.1k
        case detail::arg_type::wide_character_type:
9515
94.1k
            SCN_VISIT(wchar_t);
9516
94.1k
        case detail::arg_type::code_point_type:
9517
94.1k
            SCN_VISIT(char32_t);
9518
94.1k
        case detail::arg_type::float_type:
9519
94.1k
            SCN_VISIT(float);
9520
94.1k
        case detail::arg_type::double_type:
9521
94.1k
            SCN_VISIT(double);
9522
94.1k
        case detail::arg_type::ldouble_type:
9523
94.1k
            SCN_VISIT(long double);
9524
94.1k
        case detail::arg_type::float16_type:
9525
#if SCN_HAS_STD_F16
9526
            SCN_VISIT(std::float16_t);
9527
#else
9528
94.1k
            return vis(monostate_val);
9529
0
#endif
9530
0
        case detail::arg_type::float32_type:
9531
#if SCN_HAS_STD_F32
9532
            SCN_VISIT(std::float32_t);
9533
#else
9534
0
            return vis(monostate_val);
9535
0
#endif
9536
0
        case detail::arg_type::float64_type:
9537
#if SCN_HAS_STD_F64
9538
            SCN_VISIT(std::float64_t);
9539
#else
9540
0
            return vis(monostate_val);
9541
0
#endif
9542
0
        case detail::arg_type::float128_type:
9543
#if SCN_HAS_STD_F64
9544
            SCN_VISIT(std::float128_t);
9545
#else
9546
0
            return vis(monostate_val);
9547
0
#endif
9548
0
        case detail::arg_type::bfloat16_type:
9549
#if SCN_HAS_STD_BF16
9550
            SCN_VISIT(std::bfloat16_t);
9551
#else
9552
0
            return vis(monostate_val);
9553
0
#endif
9554
0
        case detail::arg_type::narrow_string_type:
9555
0
            SCN_VISIT(std::string);
9556
0
        case detail::arg_type::wide_string_type:
9557
0
            SCN_VISIT(std::wstring);
9558
0
        case detail::arg_type::string_view_type: {
9559
0
            if constexpr (std::is_same_v<typename Ctx::char_type, char>) {
9560
0
                SCN_VISIT(std::string_view);
9561
            }
9562
            else {
9563
                SCN_VISIT(std::wstring_view);
9564
            }
9565
0
        }
9566
9567
0
        case detail::arg_type::custom_type:
9568
0
#if !SCN_DISABLE_TYPE_CUSTOM
9569
0
            return vis(typename basic_scan_arg<Ctx>::handle(
9570
0
                get_arg_value(arg).custom_value));
9571
#else
9572
            return vis(monostate_val);
9573
#endif
9574
9575
0
            SCN_CLANG_PUSH
9576
0
            SCN_CLANG_IGNORE("-Wcovered-switch-default")
9577
9578
0
            SCN_UNLIKELY_ATTR
9579
0
        case detail::arg_type::none_type:
9580
0
        default: {
9581
0
            return vis(monostate_val);
9582
0
        }
9583
9584
94.1k
            SCN_CLANG_POP
9585
94.1k
    }
9586
9587
0
#undef SCN_VISIT
9588
9589
0
    SCN_ENSURE(false);
9590
0
    SCN_UNREACHABLE;
9591
0
}
Unexecuted instantiation: decltype(auto) scn::v4::detail::visit_impl<scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >(scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >&&, scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >&)
decltype(auto) scn::v4::detail::visit_impl<scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >(scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >&&, scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >&)
Line
Count
Source
9462
330k
{
9463
330k
#define SCN_VISIT(Type)                                                    \
9464
330k
    do {                                                                   \
9465
330k
        if constexpr (!detail::is_type_disabled<Type>) {                   \
9466
330k
            return vis(*static_cast<Type*>(get_arg_value(arg).ref_value)); \
9467
330k
        }                                                                  \
9468
330k
        else {                                                             \
9469
330k
            return vis(monostate_val);                                     \
9470
330k
        }                                                                  \
9471
330k
    } while (false)
9472
9473
330k
    monostate monostate_val{};
9474
9475
330k
    switch (get_arg_type(arg)) {
9476
53.2k
        case detail::arg_type::schar_type:
9477
53.2k
            SCN_VISIT(signed char);
9478
53.2k
        case detail::arg_type::short_type:
9479
53.2k
            SCN_VISIT(short);
9480
116k
        case detail::arg_type::int_type:
9481
116k
            SCN_VISIT(int);
9482
116k
        case detail::arg_type::long_type:
9483
116k
            SCN_VISIT(long);
9484
180k
        case detail::arg_type::llong_type:
9485
180k
            SCN_VISIT(long long);
9486
180k
        case detail::arg_type::int128_type:
9487
180k
#if SCN_HAS_INT128
9488
180k
            SCN_VISIT(int128);
9489
#else
9490
            return vis(monostate_val);
9491
#endif
9492
227k
        case detail::arg_type::uchar_type:
9493
227k
            SCN_VISIT(unsigned char);
9494
227k
        case detail::arg_type::ushort_type:
9495
227k
            SCN_VISIT(unsigned short);
9496
278k
        case detail::arg_type::uint_type:
9497
278k
            SCN_VISIT(unsigned);
9498
278k
        case detail::arg_type::ulong_type:
9499
278k
            SCN_VISIT(unsigned long);
9500
330k
        case detail::arg_type::ullong_type:
9501
330k
            SCN_VISIT(unsigned long long);
9502
330k
        case detail::arg_type::uint128_type:
9503
330k
#if SCN_HAS_INT128
9504
330k
            SCN_VISIT(uint128);
9505
#else
9506
            return vis(monostate_val);
9507
#endif
9508
330k
        case detail::arg_type::pointer_type:
9509
330k
            SCN_VISIT(void*);
9510
330k
        case detail::arg_type::bool_type:
9511
330k
            SCN_VISIT(bool);
9512
330k
        case detail::arg_type::narrow_character_type:
9513
330k
            SCN_VISIT(char);
9514
330k
        case detail::arg_type::wide_character_type:
9515
330k
            SCN_VISIT(wchar_t);
9516
330k
        case detail::arg_type::code_point_type:
9517
330k
            SCN_VISIT(char32_t);
9518
330k
        case detail::arg_type::float_type:
9519
330k
            SCN_VISIT(float);
9520
330k
        case detail::arg_type::double_type:
9521
330k
            SCN_VISIT(double);
9522
330k
        case detail::arg_type::ldouble_type:
9523
330k
            SCN_VISIT(long double);
9524
330k
        case detail::arg_type::float16_type:
9525
#if SCN_HAS_STD_F16
9526
            SCN_VISIT(std::float16_t);
9527
#else
9528
330k
            return vis(monostate_val);
9529
0
#endif
9530
0
        case detail::arg_type::float32_type:
9531
#if SCN_HAS_STD_F32
9532
            SCN_VISIT(std::float32_t);
9533
#else
9534
0
            return vis(monostate_val);
9535
0
#endif
9536
0
        case detail::arg_type::float64_type:
9537
#if SCN_HAS_STD_F64
9538
            SCN_VISIT(std::float64_t);
9539
#else
9540
0
            return vis(monostate_val);
9541
0
#endif
9542
0
        case detail::arg_type::float128_type:
9543
#if SCN_HAS_STD_F64
9544
            SCN_VISIT(std::float128_t);
9545
#else
9546
0
            return vis(monostate_val);
9547
0
#endif
9548
0
        case detail::arg_type::bfloat16_type:
9549
#if SCN_HAS_STD_BF16
9550
            SCN_VISIT(std::bfloat16_t);
9551
#else
9552
0
            return vis(monostate_val);
9553
0
#endif
9554
0
        case detail::arg_type::narrow_string_type:
9555
0
            SCN_VISIT(std::string);
9556
0
        case detail::arg_type::wide_string_type:
9557
0
            SCN_VISIT(std::wstring);
9558
0
        case detail::arg_type::string_view_type: {
9559
0
            if constexpr (std::is_same_v<typename Ctx::char_type, char>) {
9560
0
                SCN_VISIT(std::string_view);
9561
            }
9562
            else {
9563
                SCN_VISIT(std::wstring_view);
9564
            }
9565
0
        }
9566
9567
0
        case detail::arg_type::custom_type:
9568
0
#if !SCN_DISABLE_TYPE_CUSTOM
9569
0
            return vis(typename basic_scan_arg<Ctx>::handle(
9570
0
                get_arg_value(arg).custom_value));
9571
#else
9572
            return vis(monostate_val);
9573
#endif
9574
9575
0
            SCN_CLANG_PUSH
9576
0
            SCN_CLANG_IGNORE("-Wcovered-switch-default")
9577
9578
0
            SCN_UNLIKELY_ATTR
9579
0
        case detail::arg_type::none_type:
9580
0
        default: {
9581
0
            return vis(monostate_val);
9582
0
        }
9583
9584
330k
            SCN_CLANG_POP
9585
330k
    }
9586
9587
0
#undef SCN_VISIT
9588
9589
0
    SCN_ENSURE(false);
9590
0
    SCN_UNREACHABLE;
9591
0
}
decltype(auto) scn::v4::detail::visit_impl<scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >(scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >&&, scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >&)
Line
Count
Source
9462
330k
{
9463
330k
#define SCN_VISIT(Type)                                                    \
9464
330k
    do {                                                                   \
9465
330k
        if constexpr (!detail::is_type_disabled<Type>) {                   \
9466
330k
            return vis(*static_cast<Type*>(get_arg_value(arg).ref_value)); \
9467
330k
        }                                                                  \
9468
330k
        else {                                                             \
9469
330k
            return vis(monostate_val);                                     \
9470
330k
        }                                                                  \
9471
330k
    } while (false)
9472
9473
330k
    monostate monostate_val{};
9474
9475
330k
    switch (get_arg_type(arg)) {
9476
53.2k
        case detail::arg_type::schar_type:
9477
53.2k
            SCN_VISIT(signed char);
9478
53.2k
        case detail::arg_type::short_type:
9479
53.2k
            SCN_VISIT(short);
9480
116k
        case detail::arg_type::int_type:
9481
116k
            SCN_VISIT(int);
9482
116k
        case detail::arg_type::long_type:
9483
116k
            SCN_VISIT(long);
9484
180k
        case detail::arg_type::llong_type:
9485
180k
            SCN_VISIT(long long);
9486
180k
        case detail::arg_type::int128_type:
9487
180k
#if SCN_HAS_INT128
9488
180k
            SCN_VISIT(int128);
9489
#else
9490
            return vis(monostate_val);
9491
#endif
9492
227k
        case detail::arg_type::uchar_type:
9493
227k
            SCN_VISIT(unsigned char);
9494
227k
        case detail::arg_type::ushort_type:
9495
227k
            SCN_VISIT(unsigned short);
9496
278k
        case detail::arg_type::uint_type:
9497
278k
            SCN_VISIT(unsigned);
9498
278k
        case detail::arg_type::ulong_type:
9499
278k
            SCN_VISIT(unsigned long);
9500
330k
        case detail::arg_type::ullong_type:
9501
330k
            SCN_VISIT(unsigned long long);
9502
330k
        case detail::arg_type::uint128_type:
9503
330k
#if SCN_HAS_INT128
9504
330k
            SCN_VISIT(uint128);
9505
#else
9506
            return vis(monostate_val);
9507
#endif
9508
330k
        case detail::arg_type::pointer_type:
9509
330k
            SCN_VISIT(void*);
9510
330k
        case detail::arg_type::bool_type:
9511
330k
            SCN_VISIT(bool);
9512
330k
        case detail::arg_type::narrow_character_type:
9513
330k
            SCN_VISIT(char);
9514
330k
        case detail::arg_type::wide_character_type:
9515
330k
            SCN_VISIT(wchar_t);
9516
330k
        case detail::arg_type::code_point_type:
9517
330k
            SCN_VISIT(char32_t);
9518
330k
        case detail::arg_type::float_type:
9519
330k
            SCN_VISIT(float);
9520
330k
        case detail::arg_type::double_type:
9521
330k
            SCN_VISIT(double);
9522
330k
        case detail::arg_type::ldouble_type:
9523
330k
            SCN_VISIT(long double);
9524
330k
        case detail::arg_type::float16_type:
9525
#if SCN_HAS_STD_F16
9526
            SCN_VISIT(std::float16_t);
9527
#else
9528
330k
            return vis(monostate_val);
9529
0
#endif
9530
0
        case detail::arg_type::float32_type:
9531
#if SCN_HAS_STD_F32
9532
            SCN_VISIT(std::float32_t);
9533
#else
9534
0
            return vis(monostate_val);
9535
0
#endif
9536
0
        case detail::arg_type::float64_type:
9537
#if SCN_HAS_STD_F64
9538
            SCN_VISIT(std::float64_t);
9539
#else
9540
0
            return vis(monostate_val);
9541
0
#endif
9542
0
        case detail::arg_type::float128_type:
9543
#if SCN_HAS_STD_F64
9544
            SCN_VISIT(std::float128_t);
9545
#else
9546
0
            return vis(monostate_val);
9547
0
#endif
9548
0
        case detail::arg_type::bfloat16_type:
9549
#if SCN_HAS_STD_BF16
9550
            SCN_VISIT(std::bfloat16_t);
9551
#else
9552
0
            return vis(monostate_val);
9553
0
#endif
9554
0
        case detail::arg_type::narrow_string_type:
9555
0
            SCN_VISIT(std::string);
9556
0
        case detail::arg_type::wide_string_type:
9557
0
            SCN_VISIT(std::wstring);
9558
0
        case detail::arg_type::string_view_type: {
9559
0
            if constexpr (std::is_same_v<typename Ctx::char_type, char>) {
9560
0
                SCN_VISIT(std::string_view);
9561
            }
9562
            else {
9563
                SCN_VISIT(std::wstring_view);
9564
            }
9565
0
        }
9566
9567
0
        case detail::arg_type::custom_type:
9568
0
#if !SCN_DISABLE_TYPE_CUSTOM
9569
0
            return vis(typename basic_scan_arg<Ctx>::handle(
9570
0
                get_arg_value(arg).custom_value));
9571
#else
9572
            return vis(monostate_val);
9573
#endif
9574
9575
0
            SCN_CLANG_PUSH
9576
0
            SCN_CLANG_IGNORE("-Wcovered-switch-default")
9577
9578
0
            SCN_UNLIKELY_ATTR
9579
0
        case detail::arg_type::none_type:
9580
0
        default: {
9581
0
            return vis(monostate_val);
9582
0
        }
9583
9584
330k
            SCN_CLANG_POP
9585
330k
    }
9586
9587
0
#undef SCN_VISIT
9588
9589
0
    SCN_ENSURE(false);
9590
0
    SCN_UNREACHABLE;
9591
0
}
decltype(auto) scn::v4::detail::visit_impl<scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >(scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >&&, scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >&)
Line
Count
Source
9462
25.4k
{
9463
25.4k
#define SCN_VISIT(Type)                                                    \
9464
25.4k
    do {                                                                   \
9465
25.4k
        if constexpr (!detail::is_type_disabled<Type>) {                   \
9466
25.4k
            return vis(*static_cast<Type*>(get_arg_value(arg).ref_value)); \
9467
25.4k
        }                                                                  \
9468
25.4k
        else {                                                             \
9469
25.4k
            return vis(monostate_val);                                     \
9470
25.4k
        }                                                                  \
9471
25.4k
    } while (false)
9472
9473
25.4k
    monostate monostate_val{};
9474
9475
25.4k
    switch (get_arg_type(arg)) {
9476
4.23k
        case detail::arg_type::schar_type:
9477
4.23k
            SCN_VISIT(signed char);
9478
4.23k
        case detail::arg_type::short_type:
9479
4.23k
            SCN_VISIT(short);
9480
8.48k
        case detail::arg_type::int_type:
9481
8.48k
            SCN_VISIT(int);
9482
8.48k
        case detail::arg_type::long_type:
9483
8.48k
            SCN_VISIT(long);
9484
12.7k
        case detail::arg_type::llong_type:
9485
12.7k
            SCN_VISIT(long long);
9486
12.7k
        case detail::arg_type::int128_type:
9487
12.7k
#if SCN_HAS_INT128
9488
12.7k
            SCN_VISIT(int128);
9489
#else
9490
            return vis(monostate_val);
9491
#endif
9492
16.9k
        case detail::arg_type::uchar_type:
9493
16.9k
            SCN_VISIT(unsigned char);
9494
16.9k
        case detail::arg_type::ushort_type:
9495
16.9k
            SCN_VISIT(unsigned short);
9496
21.2k
        case detail::arg_type::uint_type:
9497
21.2k
            SCN_VISIT(unsigned);
9498
21.2k
        case detail::arg_type::ulong_type:
9499
21.2k
            SCN_VISIT(unsigned long);
9500
25.4k
        case detail::arg_type::ullong_type:
9501
25.4k
            SCN_VISIT(unsigned long long);
9502
25.4k
        case detail::arg_type::uint128_type:
9503
25.4k
#if SCN_HAS_INT128
9504
25.4k
            SCN_VISIT(uint128);
9505
#else
9506
            return vis(monostate_val);
9507
#endif
9508
25.4k
        case detail::arg_type::pointer_type:
9509
25.4k
            SCN_VISIT(void*);
9510
25.4k
        case detail::arg_type::bool_type:
9511
25.4k
            SCN_VISIT(bool);
9512
25.4k
        case detail::arg_type::narrow_character_type:
9513
25.4k
            SCN_VISIT(char);
9514
25.4k
        case detail::arg_type::wide_character_type:
9515
25.4k
            SCN_VISIT(wchar_t);
9516
25.4k
        case detail::arg_type::code_point_type:
9517
25.4k
            SCN_VISIT(char32_t);
9518
25.4k
        case detail::arg_type::float_type:
9519
25.4k
            SCN_VISIT(float);
9520
25.4k
        case detail::arg_type::double_type:
9521
25.4k
            SCN_VISIT(double);
9522
25.4k
        case detail::arg_type::ldouble_type:
9523
25.4k
            SCN_VISIT(long double);
9524
25.4k
        case detail::arg_type::float16_type:
9525
#if SCN_HAS_STD_F16
9526
            SCN_VISIT(std::float16_t);
9527
#else
9528
25.4k
            return vis(monostate_val);
9529
0
#endif
9530
0
        case detail::arg_type::float32_type:
9531
#if SCN_HAS_STD_F32
9532
            SCN_VISIT(std::float32_t);
9533
#else
9534
0
            return vis(monostate_val);
9535
0
#endif
9536
0
        case detail::arg_type::float64_type:
9537
#if SCN_HAS_STD_F64
9538
            SCN_VISIT(std::float64_t);
9539
#else
9540
0
            return vis(monostate_val);
9541
0
#endif
9542
0
        case detail::arg_type::float128_type:
9543
#if SCN_HAS_STD_F64
9544
            SCN_VISIT(std::float128_t);
9545
#else
9546
0
            return vis(monostate_val);
9547
0
#endif
9548
0
        case detail::arg_type::bfloat16_type:
9549
#if SCN_HAS_STD_BF16
9550
            SCN_VISIT(std::bfloat16_t);
9551
#else
9552
0
            return vis(monostate_val);
9553
0
#endif
9554
0
        case detail::arg_type::narrow_string_type:
9555
0
            SCN_VISIT(std::string);
9556
0
        case detail::arg_type::wide_string_type:
9557
0
            SCN_VISIT(std::wstring);
9558
0
        case detail::arg_type::string_view_type: {
9559
            if constexpr (std::is_same_v<typename Ctx::char_type, char>) {
9560
                SCN_VISIT(std::string_view);
9561
            }
9562
0
            else {
9563
0
                SCN_VISIT(std::wstring_view);
9564
0
            }
9565
0
        }
9566
9567
0
        case detail::arg_type::custom_type:
9568
0
#if !SCN_DISABLE_TYPE_CUSTOM
9569
0
            return vis(typename basic_scan_arg<Ctx>::handle(
9570
0
                get_arg_value(arg).custom_value));
9571
#else
9572
            return vis(monostate_val);
9573
#endif
9574
9575
0
            SCN_CLANG_PUSH
9576
0
            SCN_CLANG_IGNORE("-Wcovered-switch-default")
9577
9578
0
            SCN_UNLIKELY_ATTR
9579
0
        case detail::arg_type::none_type:
9580
0
        default: {
9581
0
            return vis(monostate_val);
9582
0
        }
9583
9584
25.4k
            SCN_CLANG_POP
9585
25.4k
    }
9586
9587
0
#undef SCN_VISIT
9588
9589
0
    SCN_ENSURE(false);
9590
0
    SCN_UNREACHABLE;
9591
0
}
Unexecuted instantiation: decltype(auto) scn::v4::detail::visit_impl<scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >(scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >&&, scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >&)
decltype(auto) scn::v4::detail::visit_impl<scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >(scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >&&, scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >&)
Line
Count
Source
9462
101k
{
9463
101k
#define SCN_VISIT(Type)                                                    \
9464
101k
    do {                                                                   \
9465
101k
        if constexpr (!detail::is_type_disabled<Type>) {                   \
9466
101k
            return vis(*static_cast<Type*>(get_arg_value(arg).ref_value)); \
9467
101k
        }                                                                  \
9468
101k
        else {                                                             \
9469
101k
            return vis(monostate_val);                                     \
9470
101k
        }                                                                  \
9471
101k
    } while (false)
9472
9473
101k
    monostate monostate_val{};
9474
9475
101k
    switch (get_arg_type(arg)) {
9476
16.8k
        case detail::arg_type::schar_type:
9477
16.8k
            SCN_VISIT(signed char);
9478
16.8k
        case detail::arg_type::short_type:
9479
16.8k
            SCN_VISIT(short);
9480
33.8k
        case detail::arg_type::int_type:
9481
33.8k
            SCN_VISIT(int);
9482
33.8k
        case detail::arg_type::long_type:
9483
33.8k
            SCN_VISIT(long);
9484
50.8k
        case detail::arg_type::llong_type:
9485
50.8k
            SCN_VISIT(long long);
9486
50.8k
        case detail::arg_type::int128_type:
9487
50.8k
#if SCN_HAS_INT128
9488
50.8k
            SCN_VISIT(int128);
9489
#else
9490
            return vis(monostate_val);
9491
#endif
9492
67.6k
        case detail::arg_type::uchar_type:
9493
67.6k
            SCN_VISIT(unsigned char);
9494
67.6k
        case detail::arg_type::ushort_type:
9495
67.6k
            SCN_VISIT(unsigned short);
9496
84.5k
        case detail::arg_type::uint_type:
9497
84.5k
            SCN_VISIT(unsigned);
9498
84.5k
        case detail::arg_type::ulong_type:
9499
84.5k
            SCN_VISIT(unsigned long);
9500
101k
        case detail::arg_type::ullong_type:
9501
101k
            SCN_VISIT(unsigned long long);
9502
101k
        case detail::arg_type::uint128_type:
9503
101k
#if SCN_HAS_INT128
9504
101k
            SCN_VISIT(uint128);
9505
#else
9506
            return vis(monostate_val);
9507
#endif
9508
101k
        case detail::arg_type::pointer_type:
9509
101k
            SCN_VISIT(void*);
9510
101k
        case detail::arg_type::bool_type:
9511
101k
            SCN_VISIT(bool);
9512
101k
        case detail::arg_type::narrow_character_type:
9513
101k
            SCN_VISIT(char);
9514
101k
        case detail::arg_type::wide_character_type:
9515
101k
            SCN_VISIT(wchar_t);
9516
101k
        case detail::arg_type::code_point_type:
9517
101k
            SCN_VISIT(char32_t);
9518
101k
        case detail::arg_type::float_type:
9519
101k
            SCN_VISIT(float);
9520
101k
        case detail::arg_type::double_type:
9521
101k
            SCN_VISIT(double);
9522
101k
        case detail::arg_type::ldouble_type:
9523
101k
            SCN_VISIT(long double);
9524
101k
        case detail::arg_type::float16_type:
9525
#if SCN_HAS_STD_F16
9526
            SCN_VISIT(std::float16_t);
9527
#else
9528
101k
            return vis(monostate_val);
9529
0
#endif
9530
0
        case detail::arg_type::float32_type:
9531
#if SCN_HAS_STD_F32
9532
            SCN_VISIT(std::float32_t);
9533
#else
9534
0
            return vis(monostate_val);
9535
0
#endif
9536
0
        case detail::arg_type::float64_type:
9537
#if SCN_HAS_STD_F64
9538
            SCN_VISIT(std::float64_t);
9539
#else
9540
0
            return vis(monostate_val);
9541
0
#endif
9542
0
        case detail::arg_type::float128_type:
9543
#if SCN_HAS_STD_F64
9544
            SCN_VISIT(std::float128_t);
9545
#else
9546
0
            return vis(monostate_val);
9547
0
#endif
9548
0
        case detail::arg_type::bfloat16_type:
9549
#if SCN_HAS_STD_BF16
9550
            SCN_VISIT(std::bfloat16_t);
9551
#else
9552
0
            return vis(monostate_val);
9553
0
#endif
9554
0
        case detail::arg_type::narrow_string_type:
9555
0
            SCN_VISIT(std::string);
9556
0
        case detail::arg_type::wide_string_type:
9557
0
            SCN_VISIT(std::wstring);
9558
0
        case detail::arg_type::string_view_type: {
9559
            if constexpr (std::is_same_v<typename Ctx::char_type, char>) {
9560
                SCN_VISIT(std::string_view);
9561
            }
9562
0
            else {
9563
0
                SCN_VISIT(std::wstring_view);
9564
0
            }
9565
0
        }
9566
9567
0
        case detail::arg_type::custom_type:
9568
0
#if !SCN_DISABLE_TYPE_CUSTOM
9569
0
            return vis(typename basic_scan_arg<Ctx>::handle(
9570
0
                get_arg_value(arg).custom_value));
9571
#else
9572
            return vis(monostate_val);
9573
#endif
9574
9575
0
            SCN_CLANG_PUSH
9576
0
            SCN_CLANG_IGNORE("-Wcovered-switch-default")
9577
9578
0
            SCN_UNLIKELY_ATTR
9579
0
        case detail::arg_type::none_type:
9580
0
        default: {
9581
0
            return vis(monostate_val);
9582
0
        }
9583
9584
101k
            SCN_CLANG_POP
9585
101k
    }
9586
9587
0
#undef SCN_VISIT
9588
9589
0
    SCN_ENSURE(false);
9590
0
    SCN_UNREACHABLE;
9591
0
}
decltype(auto) scn::v4::detail::visit_impl<scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >(scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >&&, scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >&)
Line
Count
Source
9462
25.4k
{
9463
25.4k
#define SCN_VISIT(Type)                                                    \
9464
25.4k
    do {                                                                   \
9465
25.4k
        if constexpr (!detail::is_type_disabled<Type>) {                   \
9466
25.4k
            return vis(*static_cast<Type*>(get_arg_value(arg).ref_value)); \
9467
25.4k
        }                                                                  \
9468
25.4k
        else {                                                             \
9469
25.4k
            return vis(monostate_val);                                     \
9470
25.4k
        }                                                                  \
9471
25.4k
    } while (false)
9472
9473
25.4k
    monostate monostate_val{};
9474
9475
25.4k
    switch (get_arg_type(arg)) {
9476
4.23k
        case detail::arg_type::schar_type:
9477
4.23k
            SCN_VISIT(signed char);
9478
4.23k
        case detail::arg_type::short_type:
9479
4.23k
            SCN_VISIT(short);
9480
8.48k
        case detail::arg_type::int_type:
9481
8.48k
            SCN_VISIT(int);
9482
8.48k
        case detail::arg_type::long_type:
9483
8.48k
            SCN_VISIT(long);
9484
12.7k
        case detail::arg_type::llong_type:
9485
12.7k
            SCN_VISIT(long long);
9486
12.7k
        case detail::arg_type::int128_type:
9487
12.7k
#if SCN_HAS_INT128
9488
12.7k
            SCN_VISIT(int128);
9489
#else
9490
            return vis(monostate_val);
9491
#endif
9492
16.9k
        case detail::arg_type::uchar_type:
9493
16.9k
            SCN_VISIT(unsigned char);
9494
16.9k
        case detail::arg_type::ushort_type:
9495
16.9k
            SCN_VISIT(unsigned short);
9496
21.2k
        case detail::arg_type::uint_type:
9497
21.2k
            SCN_VISIT(unsigned);
9498
21.2k
        case detail::arg_type::ulong_type:
9499
21.2k
            SCN_VISIT(unsigned long);
9500
25.4k
        case detail::arg_type::ullong_type:
9501
25.4k
            SCN_VISIT(unsigned long long);
9502
25.4k
        case detail::arg_type::uint128_type:
9503
25.4k
#if SCN_HAS_INT128
9504
25.4k
            SCN_VISIT(uint128);
9505
#else
9506
            return vis(monostate_val);
9507
#endif
9508
25.4k
        case detail::arg_type::pointer_type:
9509
25.4k
            SCN_VISIT(void*);
9510
25.4k
        case detail::arg_type::bool_type:
9511
25.4k
            SCN_VISIT(bool);
9512
25.4k
        case detail::arg_type::narrow_character_type:
9513
25.4k
            SCN_VISIT(char);
9514
25.4k
        case detail::arg_type::wide_character_type:
9515
25.4k
            SCN_VISIT(wchar_t);
9516
25.4k
        case detail::arg_type::code_point_type:
9517
25.4k
            SCN_VISIT(char32_t);
9518
25.4k
        case detail::arg_type::float_type:
9519
25.4k
            SCN_VISIT(float);
9520
25.4k
        case detail::arg_type::double_type:
9521
25.4k
            SCN_VISIT(double);
9522
25.4k
        case detail::arg_type::ldouble_type:
9523
25.4k
            SCN_VISIT(long double);
9524
25.4k
        case detail::arg_type::float16_type:
9525
#if SCN_HAS_STD_F16
9526
            SCN_VISIT(std::float16_t);
9527
#else
9528
25.4k
            return vis(monostate_val);
9529
0
#endif
9530
0
        case detail::arg_type::float32_type:
9531
#if SCN_HAS_STD_F32
9532
            SCN_VISIT(std::float32_t);
9533
#else
9534
0
            return vis(monostate_val);
9535
0
#endif
9536
0
        case detail::arg_type::float64_type:
9537
#if SCN_HAS_STD_F64
9538
            SCN_VISIT(std::float64_t);
9539
#else
9540
0
            return vis(monostate_val);
9541
0
#endif
9542
0
        case detail::arg_type::float128_type:
9543
#if SCN_HAS_STD_F64
9544
            SCN_VISIT(std::float128_t);
9545
#else
9546
0
            return vis(monostate_val);
9547
0
#endif
9548
0
        case detail::arg_type::bfloat16_type:
9549
#if SCN_HAS_STD_BF16
9550
            SCN_VISIT(std::bfloat16_t);
9551
#else
9552
0
            return vis(monostate_val);
9553
0
#endif
9554
0
        case detail::arg_type::narrow_string_type:
9555
0
            SCN_VISIT(std::string);
9556
0
        case detail::arg_type::wide_string_type:
9557
0
            SCN_VISIT(std::wstring);
9558
0
        case detail::arg_type::string_view_type: {
9559
            if constexpr (std::is_same_v<typename Ctx::char_type, char>) {
9560
                SCN_VISIT(std::string_view);
9561
            }
9562
0
            else {
9563
0
                SCN_VISIT(std::wstring_view);
9564
0
            }
9565
0
        }
9566
9567
0
        case detail::arg_type::custom_type:
9568
0
#if !SCN_DISABLE_TYPE_CUSTOM
9569
0
            return vis(typename basic_scan_arg<Ctx>::handle(
9570
0
                get_arg_value(arg).custom_value));
9571
#else
9572
            return vis(monostate_val);
9573
#endif
9574
9575
0
            SCN_CLANG_PUSH
9576
0
            SCN_CLANG_IGNORE("-Wcovered-switch-default")
9577
9578
0
            SCN_UNLIKELY_ATTR
9579
0
        case detail::arg_type::none_type:
9580
0
        default: {
9581
0
            return vis(monostate_val);
9582
0
        }
9583
9584
25.4k
            SCN_CLANG_POP
9585
25.4k
    }
9586
9587
0
#undef SCN_VISIT
9588
9589
0
    SCN_ENSURE(false);
9590
0
    SCN_UNREACHABLE;
9591
0
}
decltype(auto) scn::v4::detail::visit_impl<scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >(scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >&&, scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >&)
Line
Count
Source
9462
101k
{
9463
101k
#define SCN_VISIT(Type)                                                    \
9464
101k
    do {                                                                   \
9465
101k
        if constexpr (!detail::is_type_disabled<Type>) {                   \
9466
101k
            return vis(*static_cast<Type*>(get_arg_value(arg).ref_value)); \
9467
101k
        }                                                                  \
9468
101k
        else {                                                             \
9469
101k
            return vis(monostate_val);                                     \
9470
101k
        }                                                                  \
9471
101k
    } while (false)
9472
9473
101k
    monostate monostate_val{};
9474
9475
101k
    switch (get_arg_type(arg)) {
9476
16.8k
        case detail::arg_type::schar_type:
9477
16.8k
            SCN_VISIT(signed char);
9478
16.8k
        case detail::arg_type::short_type:
9479
16.8k
            SCN_VISIT(short);
9480
33.8k
        case detail::arg_type::int_type:
9481
33.8k
            SCN_VISIT(int);
9482
33.8k
        case detail::arg_type::long_type:
9483
33.8k
            SCN_VISIT(long);
9484
50.8k
        case detail::arg_type::llong_type:
9485
50.8k
            SCN_VISIT(long long);
9486
50.8k
        case detail::arg_type::int128_type:
9487
50.8k
#if SCN_HAS_INT128
9488
50.8k
            SCN_VISIT(int128);
9489
#else
9490
            return vis(monostate_val);
9491
#endif
9492
67.6k
        case detail::arg_type::uchar_type:
9493
67.6k
            SCN_VISIT(unsigned char);
9494
67.6k
        case detail::arg_type::ushort_type:
9495
67.6k
            SCN_VISIT(unsigned short);
9496
84.5k
        case detail::arg_type::uint_type:
9497
84.5k
            SCN_VISIT(unsigned);
9498
84.5k
        case detail::arg_type::ulong_type:
9499
84.5k
            SCN_VISIT(unsigned long);
9500
101k
        case detail::arg_type::ullong_type:
9501
101k
            SCN_VISIT(unsigned long long);
9502
101k
        case detail::arg_type::uint128_type:
9503
101k
#if SCN_HAS_INT128
9504
101k
            SCN_VISIT(uint128);
9505
#else
9506
            return vis(monostate_val);
9507
#endif
9508
101k
        case detail::arg_type::pointer_type:
9509
101k
            SCN_VISIT(void*);
9510
101k
        case detail::arg_type::bool_type:
9511
101k
            SCN_VISIT(bool);
9512
101k
        case detail::arg_type::narrow_character_type:
9513
101k
            SCN_VISIT(char);
9514
101k
        case detail::arg_type::wide_character_type:
9515
101k
            SCN_VISIT(wchar_t);
9516
101k
        case detail::arg_type::code_point_type:
9517
101k
            SCN_VISIT(char32_t);
9518
101k
        case detail::arg_type::float_type:
9519
101k
            SCN_VISIT(float);
9520
101k
        case detail::arg_type::double_type:
9521
101k
            SCN_VISIT(double);
9522
101k
        case detail::arg_type::ldouble_type:
9523
101k
            SCN_VISIT(long double);
9524
101k
        case detail::arg_type::float16_type:
9525
#if SCN_HAS_STD_F16
9526
            SCN_VISIT(std::float16_t);
9527
#else
9528
101k
            return vis(monostate_val);
9529
0
#endif
9530
0
        case detail::arg_type::float32_type:
9531
#if SCN_HAS_STD_F32
9532
            SCN_VISIT(std::float32_t);
9533
#else
9534
0
            return vis(monostate_val);
9535
0
#endif
9536
0
        case detail::arg_type::float64_type:
9537
#if SCN_HAS_STD_F64
9538
            SCN_VISIT(std::float64_t);
9539
#else
9540
0
            return vis(monostate_val);
9541
0
#endif
9542
0
        case detail::arg_type::float128_type:
9543
#if SCN_HAS_STD_F64
9544
            SCN_VISIT(std::float128_t);
9545
#else
9546
0
            return vis(monostate_val);
9547
0
#endif
9548
0
        case detail::arg_type::bfloat16_type:
9549
#if SCN_HAS_STD_BF16
9550
            SCN_VISIT(std::bfloat16_t);
9551
#else
9552
0
            return vis(monostate_val);
9553
0
#endif
9554
0
        case detail::arg_type::narrow_string_type:
9555
0
            SCN_VISIT(std::string);
9556
0
        case detail::arg_type::wide_string_type:
9557
0
            SCN_VISIT(std::wstring);
9558
0
        case detail::arg_type::string_view_type: {
9559
            if constexpr (std::is_same_v<typename Ctx::char_type, char>) {
9560
                SCN_VISIT(std::string_view);
9561
            }
9562
0
            else {
9563
0
                SCN_VISIT(std::wstring_view);
9564
0
            }
9565
0
        }
9566
9567
0
        case detail::arg_type::custom_type:
9568
0
#if !SCN_DISABLE_TYPE_CUSTOM
9569
0
            return vis(typename basic_scan_arg<Ctx>::handle(
9570
0
                get_arg_value(arg).custom_value));
9571
#else
9572
            return vis(monostate_val);
9573
#endif
9574
9575
0
            SCN_CLANG_PUSH
9576
0
            SCN_CLANG_IGNORE("-Wcovered-switch-default")
9577
9578
0
            SCN_UNLIKELY_ATTR
9579
0
        case detail::arg_type::none_type:
9580
0
        default: {
9581
0
            return vis(monostate_val);
9582
0
        }
9583
9584
101k
            SCN_CLANG_POP
9585
101k
    }
9586
9587
0
#undef SCN_VISIT
9588
9589
0
    SCN_ENSURE(false);
9590
0
    SCN_UNREACHABLE;
9591
0
}
9592
9593
}  // namespace detail
9594
9595
template <typename Visitor, typename Ctx>
9596
[[deprecated("Use basic_scan_arg::visit instead")]] constexpr decltype(auto)
9597
visit_scan_arg(Visitor&& vis, basic_scan_arg<Ctx>& arg)
9598
{
9599
    return detail::visit_impl(SCN_FWD(vis), arg);
9600
}
9601
9602
template <typename Context>
9603
template <typename Visitor>
9604
constexpr decltype(auto) basic_scan_arg<Context>::visit(Visitor&& vis)
9605
1.10M
{
9606
1.10M
    return detail::visit_impl(SCN_FWD(vis), *this);
9607
1.10M
}
decltype(auto) scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::visit<scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >(scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >&&)
Line
Count
Source
9605
95.4k
{
9606
95.4k
    return detail::visit_impl(SCN_FWD(vis), *this);
9607
95.4k
}
decltype(auto) scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::visit<scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >(scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >&&)
Line
Count
Source
9605
94.1k
{
9606
94.1k
    return detail::visit_impl(SCN_FWD(vis), *this);
9607
94.1k
}
Unexecuted instantiation: decltype(auto) scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::visit<scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >(scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >&&)
decltype(auto) scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::visit<scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >(scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >&&)
Line
Count
Source
9605
330k
{
9606
330k
    return detail::visit_impl(SCN_FWD(vis), *this);
9607
330k
}
decltype(auto) scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::visit<scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >(scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >&&)
Line
Count
Source
9605
330k
{
9606
330k
    return detail::visit_impl(SCN_FWD(vis), *this);
9607
330k
}
decltype(auto) scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::visit<scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >(scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >&&)
Line
Count
Source
9605
25.4k
{
9606
25.4k
    return detail::visit_impl(SCN_FWD(vis), *this);
9607
25.4k
}
Unexecuted instantiation: decltype(auto) scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::visit<scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >(scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >&&)
decltype(auto) scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::visit<scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >(scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >&&)
Line
Count
Source
9605
101k
{
9606
101k
    return detail::visit_impl(SCN_FWD(vis), *this);
9607
101k
}
decltype(auto) scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::visit<scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >(scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >&&)
Line
Count
Source
9605
25.4k
{
9606
25.4k
    return detail::visit_impl(SCN_FWD(vis), *this);
9607
25.4k
}
decltype(auto) scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::visit<scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >(scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >&&)
Line
Count
Source
9605
101k
{
9606
101k
    return detail::visit_impl(SCN_FWD(vis), *this);
9607
101k
}
9608
9609
template <typename Context>
9610
template <typename R, typename Visitor>
9611
constexpr R basic_scan_arg<Context>::visit(Visitor&& vis)
9612
{
9613
    return detail::visit_impl(SCN_FWD(vis), *this);
9614
}
9615
9616
/////////////////////////////////////////////////////////////////
9617
// vscan
9618
/////////////////////////////////////////////////////////////////
9619
9620
/**
9621
 * \defgroup vscan Type-erased scanning API
9622
 *
9623
 * \brief Lower-level scanning API with type-erased arguments
9624
 */
9625
9626
namespace detail {
9627
template <typename Source>
9628
using scan_result_value_type =
9629
    std::conditional_t<std::is_same_v<remove_cvref_t<Source>, std::FILE*>,
9630
                       std::FILE*,
9631
                       borrowed_tail_subrange_t<Source>>;
9632
}
9633
9634
/**
9635
 * Result type returned by `vscan`.
9636
 *
9637
 * The value type of the `scan_expected` is `FILE*` if `Source` is `FILE*`,
9638
 * `detail::borrowed_tail_subrange_t<Source>` otherwise.
9639
 *
9640
 * \ingroup vscan
9641
 */
9642
template <typename Source>
9643
using vscan_result = scan_expected<detail::scan_result_value_type<Source>>;
9644
9645
namespace detail {
9646
scan_expected<std::ptrdiff_t> vscan_impl(std::string_view source,
9647
                                         std::string_view format,
9648
                                         scan_args args);
9649
scan_expected<std::ptrdiff_t> vscan_impl(scan_buffer& source,
9650
                                         std::string_view format,
9651
                                         scan_args args);
9652
9653
scan_expected<std::ptrdiff_t> vscan_impl(std::wstring_view source,
9654
                                         std::wstring_view format,
9655
                                         wscan_args args);
9656
scan_expected<std::ptrdiff_t> vscan_impl(wscan_buffer& source,
9657
                                         std::wstring_view format,
9658
                                         wscan_args args);
9659
9660
#if !SCN_DISABLE_LOCALE
9661
template <typename Locale>
9662
scan_expected<std::ptrdiff_t> vscan_localized_impl(const Locale& loc,
9663
                                                   std::string_view source,
9664
                                                   std::string_view format,
9665
                                                   scan_args args);
9666
template <typename Locale>
9667
scan_expected<std::ptrdiff_t> vscan_localized_impl(const Locale& loc,
9668
                                                   scan_buffer& source,
9669
                                                   std::string_view format,
9670
                                                   scan_args args);
9671
9672
template <typename Locale>
9673
scan_expected<std::ptrdiff_t> vscan_localized_impl(const Locale& loc,
9674
                                                   std::wstring_view source,
9675
                                                   std::wstring_view format,
9676
                                                   wscan_args args);
9677
template <typename Locale>
9678
scan_expected<std::ptrdiff_t> vscan_localized_impl(const Locale& loc,
9679
                                                   wscan_buffer& source,
9680
                                                   std::wstring_view format,
9681
                                                   wscan_args args);
9682
#endif
9683
9684
scan_expected<std::ptrdiff_t> vscan_value_impl(
9685
    std::string_view source,
9686
    basic_scan_arg<scan_context> arg);
9687
scan_expected<std::ptrdiff_t> vscan_value_impl(
9688
    scan_buffer& source,
9689
    basic_scan_arg<scan_context> arg);
9690
9691
scan_expected<std::ptrdiff_t> vscan_value_impl(
9692
    std::wstring_view source,
9693
    basic_scan_arg<wscan_context> arg);
9694
scan_expected<std::ptrdiff_t> vscan_value_impl(
9695
    wscan_buffer& source,
9696
    basic_scan_arg<wscan_context> arg);
9697
9698
template <typename Range, typename CharT>
9699
auto vscan_generic(Range&& range,
9700
                   std::basic_string_view<CharT> format,
9701
                   basic_scan_args<detail::default_context<CharT>> args)
9702
    -> vscan_result<Range>
9703
586k
{
9704
586k
    auto buffer = make_scan_buffer(range);
9705
9706
586k
    auto result = vscan_impl(buffer, format, args);
9707
586k
    if (SCN_UNLIKELY(!result)) {
9708
247k
        return unexpected(result.error());
9709
247k
    }
9710
338k
    return make_vscan_result_range(SCN_FWD(range), *result);
9711
586k
}
_ZN3scn2v46detail13vscan_genericINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEcEENS0_13scan_expectedINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESH_NS1_22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEEEOSD_NSB_17basic_string_viewIT0_NSB_11char_traitsISQ_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextINS1_16buffer_range_tagESQ_EEEE
Line
Count
Source
9703
209k
{
9704
209k
    auto buffer = make_scan_buffer(range);
9705
9706
209k
    auto result = vscan_impl(buffer, format, args);
9707
209k
    if (SCN_UNLIKELY(!result)) {
9708
41.2k
        return unexpected(result.error());
9709
41.2k
    }
9710
167k
    return make_vscan_result_range(SCN_FWD(range), *result);
9711
209k
}
_ZN3scn2v46detail13vscan_genericINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEcEENS0_13scan_expectedINS7_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESM_NS1_22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEEEOSI_NS7_17basic_string_viewIT0_NS7_11char_traitsISV_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextINS1_16buffer_range_tagESV_EEEE
Line
Count
Source
9703
209k
{
9704
209k
    auto buffer = make_scan_buffer(range);
9705
9706
209k
    auto result = vscan_impl(buffer, format, args);
9707
209k
    if (SCN_UNLIKELY(!result)) {
9708
41.2k
        return unexpected(result.error());
9709
41.2k
    }
9710
167k
    return make_vscan_result_range(SCN_FWD(range), *result);
9711
209k
}
_ZN3scn2v46detail13vscan_genericINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEwEENS0_13scan_expectedINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESH_NS1_22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEEEOSD_NSB_17basic_string_viewIT0_NSB_11char_traitsISQ_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextINS1_16buffer_range_tagESQ_EEEE
Line
Count
Source
9703
83.9k
{
9704
83.9k
    auto buffer = make_scan_buffer(range);
9705
9706
83.9k
    auto result = vscan_impl(buffer, format, args);
9707
83.9k
    if (SCN_UNLIKELY(!result)) {
9708
82.5k
        return unexpected(result.error());
9709
82.5k
    }
9710
1.43k
    return make_vscan_result_range(SCN_FWD(range), *result);
9711
83.9k
}
_ZN3scn2v46detail13vscan_genericINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEwEENS0_13scan_expectedINS7_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESM_NS1_22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEEEOSI_NS7_17basic_string_viewIT0_NS7_11char_traitsISV_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextINS1_16buffer_range_tagESV_EEEE
Line
Count
Source
9703
83.9k
{
9704
83.9k
    auto buffer = make_scan_buffer(range);
9705
9706
83.9k
    auto result = vscan_impl(buffer, format, args);
9707
83.9k
    if (SCN_UNLIKELY(!result)) {
9708
82.5k
        return unexpected(result.error());
9709
82.5k
    }
9710
1.43k
    return make_vscan_result_range(SCN_FWD(range), *result);
9711
83.9k
}
Unexecuted instantiation: _ZN3scn2v46detail13vscan_genericINS0_6ranges6detail9subrange_8subrangeINS1_17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEcEENS0_13scan_expectedINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESJ_NS1_22borrowed_tail_subrangeISF_Xsr6rangesE14borrowed_rangeISF_EEE4typeEE4typeEEEOSF_NSD_17basic_string_viewIT0_NSD_11char_traitsISS_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextINS1_16buffer_range_tagESS_EEEE
Unexecuted instantiation: _ZN3scn2v46detail13vscan_genericIRNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEcEENS0_13scan_expectedINS3_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESH_NS1_22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEEEOSD_NS3_17basic_string_viewIT0_NS5_ISQ_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextINS1_16buffer_range_tagESQ_EEEE
Unexecuted instantiation: _ZN3scn2v46detail13vscan_genericINS0_6ranges6detail9subrange_8subrangeINS1_17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEwEENS0_13scan_expectedINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESJ_NS1_22borrowed_tail_subrangeISF_Xsr6rangesE14borrowed_rangeISF_EEE4typeEE4typeEEEOSF_NSD_17basic_string_viewIT0_NSD_11char_traitsISS_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextINS1_16buffer_range_tagESS_EEEE
9712
9713
template <typename Locale, typename Range, typename CharT>
9714
auto vscan_localized_generic(
9715
    const Locale& loc,
9716
    Range&& range,
9717
    std::basic_string_view<CharT> format,
9718
    basic_scan_args<detail::default_context<CharT>> args) -> vscan_result<Range>
9719
586k
{
9720
586k
#if !SCN_DISABLE_LOCALE
9721
586k
    auto buffer = detail::make_scan_buffer(range);
9722
9723
586k
    SCN_CLANG_PUSH_IGNORE_UNDEFINED_TEMPLATE
9724
586k
    auto result = detail::vscan_localized_impl(loc, buffer, format, args);
9725
586k
    SCN_CLANG_POP_IGNORE_UNDEFINED_TEMPLATE
9726
9727
586k
    if (SCN_UNLIKELY(!result)) {
9728
247k
        return unexpected(result.error());
9729
247k
    }
9730
338k
    return detail::make_vscan_result_range(SCN_FWD(range), *result);
9731
#else
9732
    static_assert(dependent_false<Locale>::value,
9733
                  "Can't use scan(locale, ...) with SCN_DISABLE_LOCALE on");
9734
9735
    return {};
9736
#endif
9737
586k
}
_ZN3scn2v46detail23vscan_localized_genericINSt3__16localeENS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedINS3_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESI_NS1_22borrowed_tail_subrangeISE_Xsr6rangesE14borrowed_rangeISE_EEE4typeEE4typeEEERKT_OSE_NS3_17basic_string_viewIT1_NS3_11char_traitsISU_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextINS1_16buffer_range_tagESU_EEEE
Line
Count
Source
9719
209k
{
9720
209k
#if !SCN_DISABLE_LOCALE
9721
209k
    auto buffer = detail::make_scan_buffer(range);
9722
9723
209k
    SCN_CLANG_PUSH_IGNORE_UNDEFINED_TEMPLATE
9724
209k
    auto result = detail::vscan_localized_impl(loc, buffer, format, args);
9725
209k
    SCN_CLANG_POP_IGNORE_UNDEFINED_TEMPLATE
9726
9727
209k
    if (SCN_UNLIKELY(!result)) {
9728
41.2k
        return unexpected(result.error());
9729
41.2k
    }
9730
167k
    return detail::make_vscan_result_range(SCN_FWD(range), *result);
9731
#else
9732
    static_assert(dependent_false<Locale>::value,
9733
                  "Can't use scan(locale, ...) with SCN_DISABLE_LOCALE on");
9734
9735
    return {};
9736
#endif
9737
209k
}
_ZN3scn2v46detail23vscan_localized_genericINSt3__16localeENS0_6ranges6detail9subrange_8subrangeINS3_16__deque_iteratorIcPKcRSA_PKSB_lLl4096EEESF_EEcEENS0_13scan_expectedINS3_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESN_NS1_22borrowed_tail_subrangeISJ_Xsr6rangesE14borrowed_rangeISJ_EEE4typeEE4typeEEERKT_OSJ_NS3_17basic_string_viewIT1_NS3_11char_traitsISZ_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextINS1_16buffer_range_tagESZ_EEEE
Line
Count
Source
9719
209k
{
9720
209k
#if !SCN_DISABLE_LOCALE
9721
209k
    auto buffer = detail::make_scan_buffer(range);
9722
9723
209k
    SCN_CLANG_PUSH_IGNORE_UNDEFINED_TEMPLATE
9724
209k
    auto result = detail::vscan_localized_impl(loc, buffer, format, args);
9725
209k
    SCN_CLANG_POP_IGNORE_UNDEFINED_TEMPLATE
9726
9727
209k
    if (SCN_UNLIKELY(!result)) {
9728
41.2k
        return unexpected(result.error());
9729
41.2k
    }
9730
167k
    return detail::make_vscan_result_range(SCN_FWD(range), *result);
9731
#else
9732
    static_assert(dependent_false<Locale>::value,
9733
                  "Can't use scan(locale, ...) with SCN_DISABLE_LOCALE on");
9734
9735
    return {};
9736
#endif
9737
209k
}
_ZN3scn2v46detail23vscan_localized_genericINSt3__16localeENS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedINS3_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESI_NS1_22borrowed_tail_subrangeISE_Xsr6rangesE14borrowed_rangeISE_EEE4typeEE4typeEEERKT_OSE_NS3_17basic_string_viewIT1_NS3_11char_traitsISU_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextINS1_16buffer_range_tagESU_EEEE
Line
Count
Source
9719
83.9k
{
9720
83.9k
#if !SCN_DISABLE_LOCALE
9721
83.9k
    auto buffer = detail::make_scan_buffer(range);
9722
9723
83.9k
    SCN_CLANG_PUSH_IGNORE_UNDEFINED_TEMPLATE
9724
83.9k
    auto result = detail::vscan_localized_impl(loc, buffer, format, args);
9725
83.9k
    SCN_CLANG_POP_IGNORE_UNDEFINED_TEMPLATE
9726
9727
83.9k
    if (SCN_UNLIKELY(!result)) {
9728
82.5k
        return unexpected(result.error());
9729
82.5k
    }
9730
1.43k
    return detail::make_vscan_result_range(SCN_FWD(range), *result);
9731
#else
9732
    static_assert(dependent_false<Locale>::value,
9733
                  "Can't use scan(locale, ...) with SCN_DISABLE_LOCALE on");
9734
9735
    return {};
9736
#endif
9737
83.9k
}
_ZN3scn2v46detail23vscan_localized_genericINSt3__16localeENS0_6ranges6detail9subrange_8subrangeINS3_16__deque_iteratorIwPKwRSA_PKSB_lLl1024EEESF_EEwEENS0_13scan_expectedINS3_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESN_NS1_22borrowed_tail_subrangeISJ_Xsr6rangesE14borrowed_rangeISJ_EEE4typeEE4typeEEERKT_OSJ_NS3_17basic_string_viewIT1_NS3_11char_traitsISZ_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextINS1_16buffer_range_tagESZ_EEEE
Line
Count
Source
9719
83.9k
{
9720
83.9k
#if !SCN_DISABLE_LOCALE
9721
83.9k
    auto buffer = detail::make_scan_buffer(range);
9722
9723
83.9k
    SCN_CLANG_PUSH_IGNORE_UNDEFINED_TEMPLATE
9724
83.9k
    auto result = detail::vscan_localized_impl(loc, buffer, format, args);
9725
83.9k
    SCN_CLANG_POP_IGNORE_UNDEFINED_TEMPLATE
9726
9727
83.9k
    if (SCN_UNLIKELY(!result)) {
9728
82.5k
        return unexpected(result.error());
9729
82.5k
    }
9730
1.43k
    return detail::make_vscan_result_range(SCN_FWD(range), *result);
9731
#else
9732
    static_assert(dependent_false<Locale>::value,
9733
                  "Can't use scan(locale, ...) with SCN_DISABLE_LOCALE on");
9734
9735
    return {};
9736
#endif
9737
83.9k
}
9738
9739
template <typename Range, typename CharT>
9740
auto vscan_value_generic(Range&& range,
9741
                         basic_scan_arg<detail::default_context<CharT>> arg)
9742
    -> vscan_result<Range>
9743
80.1k
{
9744
80.1k
    auto buffer = detail::make_scan_buffer(range);
9745
9746
80.1k
    auto result = detail::vscan_value_impl(buffer, arg);
9747
80.1k
    if (SCN_UNLIKELY(!result)) {
9748
24.7k
        return unexpected(result.error());
9749
24.7k
    }
9750
55.4k
    return detail::make_vscan_result_range(SCN_FWD(range), *result);
9751
80.1k
}
_ZN3scn2v46detail19vscan_value_genericINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEcEENS0_13scan_expectedINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESH_NS1_22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEEEOSD_NS0_14basic_scan_argINS0_18basic_scan_contextINS1_16buffer_range_tagET0_EEEE
Line
Count
Source
9743
31.8k
{
9744
31.8k
    auto buffer = detail::make_scan_buffer(range);
9745
9746
31.8k
    auto result = detail::vscan_value_impl(buffer, arg);
9747
31.8k
    if (SCN_UNLIKELY(!result)) {
9748
4.12k
        return unexpected(result.error());
9749
4.12k
    }
9750
27.6k
    return detail::make_vscan_result_range(SCN_FWD(range), *result);
9751
31.8k
}
_ZN3scn2v46detail19vscan_value_genericINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEcEENS0_13scan_expectedINS7_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESM_NS1_22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEEEOSI_NS0_14basic_scan_argINS0_18basic_scan_contextINS1_16buffer_range_tagET0_EEEE
Line
Count
Source
9743
31.3k
{
9744
31.3k
    auto buffer = detail::make_scan_buffer(range);
9745
9746
31.3k
    auto result = detail::vscan_value_impl(buffer, arg);
9747
31.3k
    if (SCN_UNLIKELY(!result)) {
9748
4.12k
        return unexpected(result.error());
9749
4.12k
    }
9750
27.2k
    return detail::make_vscan_result_range(SCN_FWD(range), *result);
9751
31.3k
}
_ZN3scn2v46detail19vscan_value_genericINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEwEENS0_13scan_expectedINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESH_NS1_22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEEEOSD_NS0_14basic_scan_argINS0_18basic_scan_contextINS1_16buffer_range_tagET0_EEEE
Line
Count
Source
9743
8.48k
{
9744
8.48k
    auto buffer = detail::make_scan_buffer(range);
9745
9746
8.48k
    auto result = detail::vscan_value_impl(buffer, arg);
9747
8.48k
    if (SCN_UNLIKELY(!result)) {
9748
8.25k
        return unexpected(result.error());
9749
8.25k
    }
9750
230
    return detail::make_vscan_result_range(SCN_FWD(range), *result);
9751
8.48k
}
_ZN3scn2v46detail19vscan_value_genericINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEwEENS0_13scan_expectedINS7_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESM_NS1_22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEEEOSI_NS0_14basic_scan_argINS0_18basic_scan_contextINS1_16buffer_range_tagET0_EEEE
Line
Count
Source
9743
8.48k
{
9744
8.48k
    auto buffer = detail::make_scan_buffer(range);
9745
9746
8.48k
    auto result = detail::vscan_value_impl(buffer, arg);
9747
8.48k
    if (SCN_UNLIKELY(!result)) {
9748
8.25k
        return unexpected(result.error());
9749
8.25k
    }
9750
230
    return detail::make_vscan_result_range(SCN_FWD(range), *result);
9751
8.48k
}
9752
}  // namespace detail
9753
9754
SCN_GCC_PUSH
9755
SCN_GCC_IGNORE("-Wnoexcept")
9756
9757
/**
9758
 * Perform actual scanning from `source`, according to `format`, into the
9759
 * type-erased arguments at `args`. Called by `scan`.
9760
 *
9761
 * \ingroup vscan
9762
 */
9763
template <typename Source>
9764
auto vscan(Source&& source, std::string_view format, scan_args args)
9765
    -> vscan_result<Source>
9766
418k
{
9767
418k
    return detail::vscan_generic(SCN_FWD(source), format, args);
9768
418k
}
_ZN3scn2v45vscanINS0_6ranges6detail9subrange_8subrangeIPKcS7_EEEENS0_13scan_expectedINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESG_NS0_6detail22borrowed_tail_subrangeISC_Xsr6rangesE14borrowed_rangeISC_EEE4typeEE4typeEEEOSC_NSA_17basic_string_viewIcNSA_11char_traitsIcEEEENS0_15basic_scan_argsINS0_18basic_scan_contextINSH_16buffer_range_tagEcEEEE
Line
Count
Source
9766
209k
{
9767
209k
    return detail::vscan_generic(SCN_FWD(source), format, args);
9768
209k
}
_ZN3scn2v45vscanINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEEENS0_13scan_expectedINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESL_NS0_6detail22borrowed_tail_subrangeISH_Xsr6rangesE14borrowed_rangeISH_EEE4typeEE4typeEEEOSH_NS6_17basic_string_viewIcNS6_11char_traitsIcEEEENS0_15basic_scan_argsINS0_18basic_scan_contextINSM_16buffer_range_tagEcEEEE
Line
Count
Source
9766
209k
{
9767
209k
    return detail::vscan_generic(SCN_FWD(source), format, args);
9768
209k
}
Unexecuted instantiation: _ZN3scn2v45vscanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS2_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESJ_NS6_22borrowed_tail_subrangeISF_Xsr6rangesE14borrowed_rangeISF_EEE4typeEE4typeEEEOSF_NSD_17basic_string_viewIcNSD_11char_traitsIcEEEENS0_15basic_scan_argsINS0_18basic_scan_contextINS6_16buffer_range_tagEcEEEE
Unexecuted instantiation: _ZN3scn2v45vscanIRNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEEENS0_13scan_expectedINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESG_NS0_6detail22borrowed_tail_subrangeISC_Xsr6rangesE14borrowed_rangeISC_EEE4typeEE4typeEEEOSC_NS2_17basic_string_viewIcS5_EENS0_15basic_scan_argsINS0_18basic_scan_contextINSH_16buffer_range_tagEcEEEE
9769
9770
/**
9771
 * Perform actual scanning from `source`, according to `format`, into the
9772
 * type-erased arguments at `args`, using `loc`, if requested. Called by
9773
 * `scan`.
9774
 *
9775
 * \ingroup locale
9776
 */
9777
template <typename Source,
9778
          typename Locale,
9779
          typename = std::void_t<decltype(Locale::classic())>>
9780
auto vscan(const Locale& loc,
9781
           Source&& source,
9782
           std::string_view format,
9783
           scan_args args) -> vscan_result<Source>
9784
418k
{
9785
418k
    return detail::vscan_localized_generic(loc, SCN_FWD(source), format, args);
9786
418k
}
_ZN3scn2v45vscanINS0_6ranges6detail9subrange_8subrangeIPKcS7_EENSt3__16localeEvEENS0_13scan_expectedINS9_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEEERKT0_OSD_NS9_17basic_string_viewIcNS9_11char_traitsIcEEEENS0_15basic_scan_argsINS0_18basic_scan_contextINSI_16buffer_range_tagEcEEEE
Line
Count
Source
9784
209k
{
9785
209k
    return detail::vscan_localized_generic(loc, SCN_FWD(source), format, args);
9786
209k
}
_ZN3scn2v45vscanINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EENS6_6localeEvEENS0_13scan_expectedINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEEERKT0_OSI_NS6_17basic_string_viewIcNS6_11char_traitsIcEEEENS0_15basic_scan_argsINS0_18basic_scan_contextINSN_16buffer_range_tagEcEEEE
Line
Count
Source
9784
209k
{
9785
209k
    return detail::vscan_localized_generic(loc, SCN_FWD(source), format, args);
9786
209k
}
9787
9788
/**
9789
 * Perform actual scanning from `source` into the type-erased argument at
9790
 * `arg`. Called by `scan_value`.
9791
 *
9792
 * \ingroup vscan
9793
 */
9794
template <typename Source>
9795
auto vscan_value(Source&& source, basic_scan_arg<scan_context> arg)
9796
    -> vscan_result<Source>
9797
63.1k
{
9798
63.1k
    return detail::vscan_value_generic(SCN_FWD(source), arg);
9799
63.1k
}
_ZN3scn2v411vscan_valueINS0_6ranges6detail9subrange_8subrangeIPKcS7_EEEENS0_13scan_expectedINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESG_NS0_6detail22borrowed_tail_subrangeISC_Xsr6rangesE14borrowed_rangeISC_EEE4typeEE4typeEEEOSC_NS0_14basic_scan_argINS0_18basic_scan_contextINSH_16buffer_range_tagEcEEEE
Line
Count
Source
9797
31.8k
{
9798
31.8k
    return detail::vscan_value_generic(SCN_FWD(source), arg);
9799
31.8k
}
_ZN3scn2v411vscan_valueINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEEENS0_13scan_expectedINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESL_NS0_6detail22borrowed_tail_subrangeISH_Xsr6rangesE14borrowed_rangeISH_EEE4typeEE4typeEEEOSH_NS0_14basic_scan_argINS0_18basic_scan_contextINSM_16buffer_range_tagEcEEEE
Line
Count
Source
9797
31.3k
{
9798
31.3k
    return detail::vscan_value_generic(SCN_FWD(source), arg);
9799
31.3k
}
9800
9801
/**
9802
 * Perform actual scanning from `stdin`, according to `format`, into the
9803
 * type-erased arguments at `args`. Called by `input`.
9804
 *
9805
 * \ingroup vscan
9806
 */
9807
scan_expected<void> vinput(std::string_view format, scan_args args);
9808
9809
namespace detail {
9810
template <typename T>
9811
auto scan_int_impl(std::string_view source, T& value, int base)
9812
    -> scan_expected<std::string_view::iterator>;
9813
9814
template <typename T>
9815
auto scan_int_exhaustive_valid_impl(std::string_view source) -> T;
9816
9817
#if !SCN_DISABLE_TYPE_SCHAR
9818
extern template auto scan_int_impl(std::string_view source,
9819
                                   signed char& value,
9820
                                   int base)
9821
    -> scan_expected<std::string_view::iterator>;
9822
extern template auto scan_int_exhaustive_valid_impl(std::string_view)
9823
    -> signed char;
9824
#endif
9825
#if !SCN_DISABLE_TYPE_SHORT
9826
extern template auto scan_int_impl(std::string_view source,
9827
                                   short& value,
9828
                                   int base)
9829
    -> scan_expected<std::string_view::iterator>;
9830
extern template auto scan_int_exhaustive_valid_impl(std::string_view) -> short;
9831
#endif
9832
#if !SCN_DISABLE_TYPE_INT
9833
extern template auto scan_int_impl(std::string_view source,
9834
                                   int& value,
9835
                                   int base)
9836
    -> scan_expected<std::string_view::iterator>;
9837
extern template auto scan_int_exhaustive_valid_impl(std::string_view) -> int;
9838
#endif
9839
#if !SCN_DISABLE_TYPE_LONG
9840
extern template auto scan_int_impl(std::string_view source,
9841
                                   long& value,
9842
                                   int base)
9843
    -> scan_expected<std::string_view::iterator>;
9844
extern template auto scan_int_exhaustive_valid_impl(std::string_view) -> long;
9845
#endif
9846
#if !SCN_DISABLE_TYPE_LONG_LONG
9847
extern template auto scan_int_impl(std::string_view source,
9848
                                   long long& value,
9849
                                   int base)
9850
    -> scan_expected<std::string_view::iterator>;
9851
extern template auto scan_int_exhaustive_valid_impl(std::string_view)
9852
    -> long long;
9853
#endif
9854
#if !SCN_DISABLE_TYPE_UCHAR
9855
extern template auto scan_int_impl(std::string_view source,
9856
                                   unsigned char& value,
9857
                                   int base)
9858
    -> scan_expected<std::string_view::iterator>;
9859
extern template auto scan_int_exhaustive_valid_impl(std::string_view)
9860
    -> unsigned char;
9861
#endif
9862
#if !SCN_DISABLE_TYPE_USHORT
9863
extern template auto scan_int_impl(std::string_view source,
9864
                                   unsigned short& value,
9865
                                   int base)
9866
    -> scan_expected<std::string_view::iterator>;
9867
extern template auto scan_int_exhaustive_valid_impl(std::string_view)
9868
    -> unsigned short;
9869
#endif
9870
#if !SCN_DISABLE_TYPE_UINT
9871
extern template auto scan_int_impl(std::string_view source,
9872
                                   unsigned int& value,
9873
                                   int base)
9874
    -> scan_expected<std::string_view::iterator>;
9875
extern template auto scan_int_exhaustive_valid_impl(std::string_view)
9876
    -> unsigned int;
9877
#endif
9878
#if !SCN_DISABLE_TYPE_ULONG
9879
extern template auto scan_int_impl(std::string_view source,
9880
                                   unsigned long& value,
9881
                                   int base)
9882
    -> scan_expected<std::string_view::iterator>;
9883
extern template auto scan_int_exhaustive_valid_impl(std::string_view)
9884
    -> unsigned long;
9885
#endif
9886
#if !SCN_DISABLE_TYPE_ULONG_LONG
9887
extern template auto scan_int_impl(std::string_view source,
9888
                                   unsigned long long& value,
9889
                                   int base)
9890
    -> scan_expected<std::string_view::iterator>;
9891
extern template auto scan_int_exhaustive_valid_impl(std::string_view)
9892
    -> unsigned long long;
9893
#endif
9894
9895
#if SCN_HAS_INT128
9896
9897
#if !SCN_DISABLE_TYPE_INT128
9898
extern template auto scan_int_impl(std::string_view source,
9899
                                   int128& value,
9900
                                   int base)
9901
    -> scan_expected<std::string_view::iterator>;
9902
#endif
9903
9904
#if !SCN_DISABLE_TYPE_UINT128
9905
extern template auto scan_int_impl(std::string_view source,
9906
                                   uint128& value,
9907
                                   int base)
9908
    -> scan_expected<std::string_view::iterator>;
9909
#endif
9910
9911
#endif  // SCN_HAS_INT128
9912
9913
}  // namespace detail
9914
9915
SCN_GCC_POP  // -Wnoexcept
9916
9917
    // dummy namespace to reset formatting
9918
    namespace detail
9919
{
9920
}
9921
9922
/////////////////////////////////////////////////////////////////
9923
// scan
9924
/////////////////////////////////////////////////////////////////
9925
9926
/**
9927
 * The return type of `scan`, based on the type of the source, and the
9928
 * types of the scanned arguments.
9929
 */
9930
template <typename Source, typename... Args>
9931
using scan_result_type =
9932
    scan_expected<scan_result<detail::scan_result_value_type<Source>, Args...>>;
9933
9934
/**
9935
 * If `in` contains a successful result as returned from `vscan`,
9936
 * the range contained in `out` is set to `*in`.
9937
 * Otherwise, `unexpected(in.error())` is stored in `out`.
9938
 */
9939
template <typename Result,
9940
          typename Range,
9941
          std::enable_if_t<std::conjunction_v<
9942
              detail::is_specialization_of<Result, scan_result>,
9943
              std::is_same<typename Result::range_type, Range>>>* = nullptr>
9944
void fill_scan_result(scan_expected<Result>& out, scan_expected<Range>&& in)
9945
1.25M
{
9946
1.25M
    if (SCN_UNLIKELY(!in)) {
9947
520k
        out = unexpected(in.error());
9948
520k
    }
9949
732k
    else {
9950
732k
        out->set_range(SCN_MOVE(*in));
9951
732k
    }
9952
1.25M
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJaEEES9_TnPNSt3__19enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSB_7is_sameINSF_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISF_EEONSR_ISL_EE
Line
Count
Source
9945
73.2k
{
9946
73.2k
    if (SCN_UNLIKELY(!in)) {
9947
14.4k
        out = unexpected(in.error());
9948
14.4k
    }
9949
58.7k
    else {
9950
58.7k
        out->set_range(SCN_MOVE(*in));
9951
58.7k
    }
9952
73.2k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJhEEES9_TnPNSt3__19enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSB_7is_sameINSF_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISF_EEONSR_ISL_EE
Line
Count
Source
9945
64.2k
{
9946
64.2k
    if (SCN_UNLIKELY(!in)) {
9947
14.4k
        out = unexpected(in.error());
9948
14.4k
    }
9949
49.7k
    else {
9950
49.7k
        out->set_range(SCN_MOVE(*in));
9951
49.7k
    }
9952
64.2k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJiEEES9_TnPNSt3__19enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSB_7is_sameINSF_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISF_EEONSR_ISL_EE
Line
Count
Source
9945
85.6k
{
9946
85.6k
    if (SCN_UNLIKELY(!in)) {
9947
14.4k
        out = unexpected(in.error());
9948
14.4k
    }
9949
71.1k
    else {
9950
71.1k
        out->set_range(SCN_MOVE(*in));
9951
71.1k
    }
9952
85.6k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJjEEES9_TnPNSt3__19enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSB_7is_sameINSF_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISF_EEONSR_ISL_EE
Line
Count
Source
9945
69.6k
{
9946
69.6k
    if (SCN_UNLIKELY(!in)) {
9947
14.4k
        out = unexpected(in.error());
9948
14.4k
    }
9949
55.2k
    else {
9950
55.2k
        out->set_range(SCN_MOVE(*in));
9951
55.2k
    }
9952
69.6k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJxEEES9_TnPNSt3__19enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSB_7is_sameINSF_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISF_EEONSR_ISL_EE
Line
Count
Source
9945
87.1k
{
9946
87.1k
    if (SCN_UNLIKELY(!in)) {
9947
14.4k
        out = unexpected(in.error());
9948
14.4k
    }
9949
72.6k
    else {
9950
72.6k
        out->set_range(SCN_MOVE(*in));
9951
72.6k
    }
9952
87.1k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJyEEES9_TnPNSt3__19enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSB_7is_sameINSF_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISF_EEONSR_ISL_EE
Line
Count
Source
9945
70.4k
{
9946
70.4k
    if (SCN_UNLIKELY(!in)) {
9947
14.4k
        out = unexpected(in.error());
9948
14.4k
    }
9949
56.0k
    else {
9950
56.0k
        out->set_range(SCN_MOVE(*in));
9951
56.0k
    }
9952
70.4k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEJaEEESF_TnPNS7_9enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENS7_7is_sameINSK_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISK_EEONSW_ISQ_EE
Line
Count
Source
9945
73.2k
{
9946
73.2k
    if (SCN_UNLIKELY(!in)) {
9947
14.4k
        out = unexpected(in.error());
9948
14.4k
    }
9949
58.7k
    else {
9950
58.7k
        out->set_range(SCN_MOVE(*in));
9951
58.7k
    }
9952
73.2k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEJhEEESF_TnPNS7_9enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENS7_7is_sameINSK_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISK_EEONSW_ISQ_EE
Line
Count
Source
9945
64.2k
{
9946
64.2k
    if (SCN_UNLIKELY(!in)) {
9947
14.4k
        out = unexpected(in.error());
9948
14.4k
    }
9949
49.7k
    else {
9950
49.7k
        out->set_range(SCN_MOVE(*in));
9951
49.7k
    }
9952
64.2k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEJiEEESF_TnPNS7_9enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENS7_7is_sameINSK_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISK_EEONSW_ISQ_EE
Line
Count
Source
9945
85.1k
{
9946
85.1k
    if (SCN_UNLIKELY(!in)) {
9947
14.4k
        out = unexpected(in.error());
9948
14.4k
    }
9949
70.7k
    else {
9950
70.7k
        out->set_range(SCN_MOVE(*in));
9951
70.7k
    }
9952
85.1k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEJjEEESF_TnPNS7_9enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENS7_7is_sameINSK_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISK_EEONSW_ISQ_EE
Line
Count
Source
9945
69.7k
{
9946
69.7k
    if (SCN_UNLIKELY(!in)) {
9947
14.4k
        out = unexpected(in.error());
9948
14.4k
    }
9949
55.2k
    else {
9950
55.2k
        out->set_range(SCN_MOVE(*in));
9951
55.2k
    }
9952
69.7k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEJxEEESF_TnPNS7_9enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENS7_7is_sameINSK_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISK_EEONSW_ISQ_EE
Line
Count
Source
9945
86.6k
{
9946
86.6k
    if (SCN_UNLIKELY(!in)) {
9947
14.4k
        out = unexpected(in.error());
9948
14.4k
    }
9949
72.1k
    else {
9950
72.1k
        out->set_range(SCN_MOVE(*in));
9951
72.1k
    }
9952
86.6k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEJyEEESF_TnPNS7_9enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENS7_7is_sameINSK_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISK_EEONSW_ISQ_EE
Line
Count
Source
9945
70.4k
{
9946
70.4k
    if (SCN_UNLIKELY(!in)) {
9947
14.4k
        out = unexpected(in.error());
9948
14.4k
    }
9949
56.0k
    else {
9950
56.0k
        out->set_range(SCN_MOVE(*in));
9951
56.0k
    }
9952
70.4k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJaEEES9_TnPNSt3__19enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSB_7is_sameINSF_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISF_EEONSR_ISL_EE
Line
Count
Source
9945
29.3k
{
9946
29.3k
    if (SCN_UNLIKELY(!in)) {
9947
28.8k
        out = unexpected(in.error());
9948
28.8k
    }
9949
466
    else {
9950
466
        out->set_range(SCN_MOVE(*in));
9951
466
    }
9952
29.3k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJhEEES9_TnPNSt3__19enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSB_7is_sameINSF_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISF_EEONSR_ISL_EE
Line
Count
Source
9945
29.2k
{
9946
29.2k
    if (SCN_UNLIKELY(!in)) {
9947
28.8k
        out = unexpected(in.error());
9948
28.8k
    }
9949
391
    else {
9950
391
        out->set_range(SCN_MOVE(*in));
9951
391
    }
9952
29.2k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJiEEES9_TnPNSt3__19enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSB_7is_sameINSF_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISF_EEONSR_ISL_EE
Line
Count
Source
9945
29.4k
{
9946
29.4k
    if (SCN_UNLIKELY(!in)) {
9947
28.8k
        out = unexpected(in.error());
9948
28.8k
    }
9949
560
    else {
9950
560
        out->set_range(SCN_MOVE(*in));
9951
560
    }
9952
29.4k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJjEEES9_TnPNSt3__19enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSB_7is_sameINSF_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISF_EEONSR_ISL_EE
Line
Count
Source
9945
29.3k
{
9946
29.3k
    if (SCN_UNLIKELY(!in)) {
9947
28.8k
        out = unexpected(in.error());
9948
28.8k
    }
9949
455
    else {
9950
455
        out->set_range(SCN_MOVE(*in));
9951
455
    }
9952
29.3k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJxEEES9_TnPNSt3__19enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSB_7is_sameINSF_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISF_EEONSR_ISL_EE
Line
Count
Source
9945
29.5k
{
9946
29.5k
    if (SCN_UNLIKELY(!in)) {
9947
28.8k
        out = unexpected(in.error());
9948
28.8k
    }
9949
677
    else {
9950
677
        out->set_range(SCN_MOVE(*in));
9951
677
    }
9952
29.5k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJyEEES9_TnPNSt3__19enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSB_7is_sameINSF_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISF_EEONSR_ISL_EE
Line
Count
Source
9945
29.4k
{
9946
29.4k
    if (SCN_UNLIKELY(!in)) {
9947
28.8k
        out = unexpected(in.error());
9948
28.8k
    }
9949
545
    else {
9950
545
        out->set_range(SCN_MOVE(*in));
9951
545
    }
9952
29.4k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEJaEEESF_TnPNS7_9enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENS7_7is_sameINSK_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISK_EEONSW_ISQ_EE
Line
Count
Source
9945
29.3k
{
9946
29.3k
    if (SCN_UNLIKELY(!in)) {
9947
28.8k
        out = unexpected(in.error());
9948
28.8k
    }
9949
466
    else {
9950
466
        out->set_range(SCN_MOVE(*in));
9951
466
    }
9952
29.3k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEJhEEESF_TnPNS7_9enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENS7_7is_sameINSK_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISK_EEONSW_ISQ_EE
Line
Count
Source
9945
29.2k
{
9946
29.2k
    if (SCN_UNLIKELY(!in)) {
9947
28.8k
        out = unexpected(in.error());
9948
28.8k
    }
9949
391
    else {
9950
391
        out->set_range(SCN_MOVE(*in));
9951
391
    }
9952
29.2k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEJiEEESF_TnPNS7_9enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENS7_7is_sameINSK_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISK_EEONSW_ISQ_EE
Line
Count
Source
9945
29.4k
{
9946
29.4k
    if (SCN_UNLIKELY(!in)) {
9947
28.8k
        out = unexpected(in.error());
9948
28.8k
    }
9949
560
    else {
9950
560
        out->set_range(SCN_MOVE(*in));
9951
560
    }
9952
29.4k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEJjEEESF_TnPNS7_9enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENS7_7is_sameINSK_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISK_EEONSW_ISQ_EE
Line
Count
Source
9945
29.3k
{
9946
29.3k
    if (SCN_UNLIKELY(!in)) {
9947
28.8k
        out = unexpected(in.error());
9948
28.8k
    }
9949
455
    else {
9950
455
        out->set_range(SCN_MOVE(*in));
9951
455
    }
9952
29.3k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEJxEEESF_TnPNS7_9enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENS7_7is_sameINSK_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISK_EEONSW_ISQ_EE
Line
Count
Source
9945
29.5k
{
9946
29.5k
    if (SCN_UNLIKELY(!in)) {
9947
28.8k
        out = unexpected(in.error());
9948
28.8k
    }
9949
677
    else {
9950
677
        out->set_range(SCN_MOVE(*in));
9951
677
    }
9952
29.5k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEJyEEESF_TnPNS7_9enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENS7_7is_sameINSK_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISK_EEONSW_ISQ_EE
Line
Count
Source
9945
29.4k
{
9946
29.4k
    if (SCN_UNLIKELY(!in)) {
9947
28.8k
        out = unexpected(in.error());
9948
28.8k
    }
9949
545
    else {
9950
545
        out->set_range(SCN_MOVE(*in));
9951
545
    }
9952
29.4k
}
Unexecuted instantiation: _ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEJNSt3__112basic_stringIcNSD_11char_traitsIcEENSD_9allocatorIcEEEEEEESC_TnPNSD_9enable_ifIXsr3stdE13conjunction_vINS7_25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSD_7is_sameINSN_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISN_EEONSZ_IST_EE
Unexecuted instantiation: _ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__111__wrap_iterIPcEESA_EEJdEEESB_TnPNS7_9enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENS7_7is_sameINSG_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISG_EEONSS_ISM_EE
Unexecuted instantiation: _ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJNSt3__112basic_stringIcNSA_11char_traitsIcEENSA_9allocatorIcEEEEEEES9_TnPNSA_9enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSA_7is_sameINSL_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISL_EEONSX_ISR_EE
Unexecuted instantiation: _ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEJNSt3__112basic_stringIcNSD_11char_traitsIcEENSD_9allocatorIcEEEEEEESC_TnPNSD_9enable_ifIXsr3stdE13conjunction_vINS7_25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSD_7is_sameINSN_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISN_EEONSZ_IST_EE
Unexecuted instantiation: _ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJNSt3__112basic_stringIcNSA_11char_traitsIcEENSA_9allocatorIcEEEEEEES9_TnPNSA_9enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSA_7is_sameINSL_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISL_EEONSX_ISR_EE
9953
9954
/**
9955
 * Returns an empty result type for a source of type `Source`, and arguments of
9956
 * type `Args...`.
9957
 */
9958
template <typename Source, typename... Args>
9959
auto make_scan_result()
9960
1.25M
{
9961
1.25M
    return scan_result_type<Source, Args...>();
9962
1.25M
}
auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>()
Line
Count
Source
9960
73.2k
{
9961
73.2k
    return scan_result_type<Source, Args...>();
9962
73.2k
}
auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>()
Line
Count
Source
9960
64.2k
{
9961
64.2k
    return scan_result_type<Source, Args...>();
9962
64.2k
}
auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>()
Line
Count
Source
9960
85.6k
{
9961
85.6k
    return scan_result_type<Source, Args...>();
9962
85.6k
}
auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>()
Line
Count
Source
9960
69.6k
{
9961
69.6k
    return scan_result_type<Source, Args...>();
9962
69.6k
}
auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>()
Line
Count
Source
9960
87.1k
{
9961
87.1k
    return scan_result_type<Source, Args...>();
9962
87.1k
}
auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>()
Line
Count
Source
9960
70.4k
{
9961
70.4k
    return scan_result_type<Source, Args...>();
9962
70.4k
}
auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>()
Line
Count
Source
9960
73.2k
{
9961
73.2k
    return scan_result_type<Source, Args...>();
9962
73.2k
}
auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>()
Line
Count
Source
9960
64.2k
{
9961
64.2k
    return scan_result_type<Source, Args...>();
9962
64.2k
}
auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>()
Line
Count
Source
9960
85.1k
{
9961
85.1k
    return scan_result_type<Source, Args...>();
9962
85.1k
}
auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>()
Line
Count
Source
9960
69.7k
{
9961
69.7k
    return scan_result_type<Source, Args...>();
9962
69.7k
}
auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>()
Line
Count
Source
9960
86.6k
{
9961
86.6k
    return scan_result_type<Source, Args...>();
9962
86.6k
}
auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>()
Line
Count
Source
9960
70.4k
{
9961
70.4k
    return scan_result_type<Source, Args...>();
9962
70.4k
}
auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>()
Line
Count
Source
9960
29.3k
{
9961
29.3k
    return scan_result_type<Source, Args...>();
9962
29.3k
}
auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>()
Line
Count
Source
9960
29.2k
{
9961
29.2k
    return scan_result_type<Source, Args...>();
9962
29.2k
}
auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>()
Line
Count
Source
9960
29.4k
{
9961
29.4k
    return scan_result_type<Source, Args...>();
9962
29.4k
}
auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>()
Line
Count
Source
9960
29.3k
{
9961
29.3k
    return scan_result_type<Source, Args...>();
9962
29.3k
}
auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>()
Line
Count
Source
9960
29.5k
{
9961
29.5k
    return scan_result_type<Source, Args...>();
9962
29.5k
}
auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>()
Line
Count
Source
9960
29.4k
{
9961
29.4k
    return scan_result_type<Source, Args...>();
9962
29.4k
}
auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>()
Line
Count
Source
9960
29.3k
{
9961
29.3k
    return scan_result_type<Source, Args...>();
9962
29.3k
}
auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>()
Line
Count
Source
9960
29.2k
{
9961
29.2k
    return scan_result_type<Source, Args...>();
9962
29.2k
}
auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>()
Line
Count
Source
9960
29.4k
{
9961
29.4k
    return scan_result_type<Source, Args...>();
9962
29.4k
}
auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>()
Line
Count
Source
9960
29.3k
{
9961
29.3k
    return scan_result_type<Source, Args...>();
9962
29.3k
}
auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>()
Line
Count
Source
9960
29.5k
{
9961
29.5k
    return scan_result_type<Source, Args...>();
9962
29.5k
}
auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>()
Line
Count
Source
9960
29.4k
{
9961
29.4k
    return scan_result_type<Source, Args...>();
9962
29.4k
}
Unexecuted instantiation: auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
Unexecuted instantiation: auto scn::v4::make_scan_result<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, double>()
Unexecuted instantiation: auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
Unexecuted instantiation: auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
Unexecuted instantiation: auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
9963
9964
template <typename Source, typename... Args>
9965
auto make_scan_result(std::tuple<Args...>&& initial_values)
9966
{
9967
    using type = scan_result_type<Source, Args...>;
9968
    using subrange_type = typename type::value_type::range_type;
9969
    return type{std::in_place, subrange_type{}, SCN_MOVE(initial_values)};
9970
}
9971
9972
/**
9973
 * \defgroup scan Basic scanning API
9974
 *
9975
 * \brief The core public-facing interface of the library
9976
 *
9977
 * The following functions use a format string syntax similar to that of
9978
 * `std::format`. See more at \ref format-string.
9979
 *
9980
 * When these functions take a `source` as input, it must
9981
 * model the `scannable_source` concept. See more at \ref scannable.
9982
 */
9983
9984
/**
9985
 * Scans `Args...` from `source`, according to the
9986
 * specifications given in the format string (`format`).
9987
 * Returns the resulting values in an object of type `scan_result`,
9988
 * alongside a `subrange` pointing to the unused input.
9989
 *
9990
 * Example:
9991
 * \code{.cpp}
9992
 * if (auto result = scn::scan<int>("123", "{}"))
9993
 *     int value = result->value();
9994
 * \endcode
9995
 *
9996
 * \ingroup scan
9997
 */
9998
template <typename... Args,
9999
          typename Source,
10000
          typename = std::enable_if_t<detail::is_file_or_narrow_range<Source>>>
10001
SCN_NODISCARD auto scan(Source&& source,
10002
                        scan_format_string<Source, Args...> format)
10003
    -> scan_result_type<Source, Args...>
10004
418k
{
10005
418k
    auto result = make_scan_result<Source, Args...>();
10006
418k
    fill_scan_result(result, vscan(SCN_FWD(source), format,
10007
418k
                                   make_scan_args(result->values())));
10008
418k
    return result;
10009
418k
}
_ZN3scn2v44scanIJaENS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJDpT_EEEEEOSD_NS0_24basic_scan_format_stringIcNSI_13type_identityISD_E4typeEJDpNSU_ISO_E4typeEEEE
Line
Count
Source
10004
33.9k
{
10005
33.9k
    auto result = make_scan_result<Source, Args...>();
10006
33.9k
    fill_scan_result(result, vscan(SCN_FWD(source), format,
10007
33.9k
                                   make_scan_args(result->values())));
10008
33.9k
    return result;
10009
33.9k
}
_ZN3scn2v44scanIJhENS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJDpT_EEEEEOSD_NS0_24basic_scan_format_stringIcNSI_13type_identityISD_E4typeEJDpNSU_ISO_E4typeEEEE
Line
Count
Source
10004
29.9k
{
10005
29.9k
    auto result = make_scan_result<Source, Args...>();
10006
29.9k
    fill_scan_result(result, vscan(SCN_FWD(source), format,
10007
29.9k
                                   make_scan_args(result->values())));
10008
29.9k
    return result;
10009
29.9k
}
_ZN3scn2v44scanIJiENS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJDpT_EEEEEOSD_NS0_24basic_scan_format_stringIcNSI_13type_identityISD_E4typeEJDpNSU_ISO_E4typeEEEE
Line
Count
Source
10004
39.7k
{
10005
39.7k
    auto result = make_scan_result<Source, Args...>();
10006
39.7k
    fill_scan_result(result, vscan(SCN_FWD(source), format,
10007
39.7k
                                   make_scan_args(result->values())));
10008
39.7k
    return result;
10009
39.7k
}
_ZN3scn2v44scanIJjENS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJDpT_EEEEEOSD_NS0_24basic_scan_format_stringIcNSI_13type_identityISD_E4typeEJDpNSU_ISO_E4typeEEEE
Line
Count
Source
10004
32.4k
{
10005
32.4k
    auto result = make_scan_result<Source, Args...>();
10006
32.4k
    fill_scan_result(result, vscan(SCN_FWD(source), format,
10007
32.4k
                                   make_scan_args(result->values())));
10008
32.4k
    return result;
10009
32.4k
}
_ZN3scn2v44scanIJxENS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJDpT_EEEEEOSD_NS0_24basic_scan_format_stringIcNSI_13type_identityISD_E4typeEJDpNSU_ISO_E4typeEEEE
Line
Count
Source
10004
40.4k
{
10005
40.4k
    auto result = make_scan_result<Source, Args...>();
10006
40.4k
    fill_scan_result(result, vscan(SCN_FWD(source), format,
10007
40.4k
                                   make_scan_args(result->values())));
10008
40.4k
    return result;
10009
40.4k
}
_ZN3scn2v44scanIJyENS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJDpT_EEEEEOSD_NS0_24basic_scan_format_stringIcNSI_13type_identityISD_E4typeEJDpNSU_ISO_E4typeEEEE
Line
Count
Source
10004
32.7k
{
10005
32.7k
    auto result = make_scan_result<Source, Args...>();
10006
32.7k
    fill_scan_result(result, vscan(SCN_FWD(source), format,
10007
32.7k
                                   make_scan_args(result->values())));
10008
32.7k
    return result;
10009
32.7k
}
_ZN3scn2v44scanIJaENS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJDpT_EEEEEOSI_NS0_24basic_scan_format_stringIcNSN_13type_identityISI_E4typeEJDpNSZ_IST_E4typeEEEE
Line
Count
Source
10004
33.9k
{
10005
33.9k
    auto result = make_scan_result<Source, Args...>();
10006
33.9k
    fill_scan_result(result, vscan(SCN_FWD(source), format,
10007
33.9k
                                   make_scan_args(result->values())));
10008
33.9k
    return result;
10009
33.9k
}
_ZN3scn2v44scanIJhENS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJDpT_EEEEEOSI_NS0_24basic_scan_format_stringIcNSN_13type_identityISI_E4typeEJDpNSZ_IST_E4typeEEEE
Line
Count
Source
10004
29.9k
{
10005
29.9k
    auto result = make_scan_result<Source, Args...>();
10006
29.9k
    fill_scan_result(result, vscan(SCN_FWD(source), format,
10007
29.9k
                                   make_scan_args(result->values())));
10008
29.9k
    return result;
10009
29.9k
}
_ZN3scn2v44scanIJiENS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJDpT_EEEEEOSI_NS0_24basic_scan_format_stringIcNSN_13type_identityISI_E4typeEJDpNSZ_IST_E4typeEEEE
Line
Count
Source
10004
39.6k
{
10005
39.6k
    auto result = make_scan_result<Source, Args...>();
10006
39.6k
    fill_scan_result(result, vscan(SCN_FWD(source), format,
10007
39.6k
                                   make_scan_args(result->values())));
10008
39.6k
    return result;
10009
39.6k
}
_ZN3scn2v44scanIJjENS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJDpT_EEEEEOSI_NS0_24basic_scan_format_stringIcNSN_13type_identityISI_E4typeEJDpNSZ_IST_E4typeEEEE
Line
Count
Source
10004
32.4k
{
10005
32.4k
    auto result = make_scan_result<Source, Args...>();
10006
32.4k
    fill_scan_result(result, vscan(SCN_FWD(source), format,
10007
32.4k
                                   make_scan_args(result->values())));
10008
32.4k
    return result;
10009
32.4k
}
_ZN3scn2v44scanIJxENS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJDpT_EEEEEOSI_NS0_24basic_scan_format_stringIcNSN_13type_identityISI_E4typeEJDpNSZ_IST_E4typeEEEE
Line
Count
Source
10004
40.3k
{
10005
40.3k
    auto result = make_scan_result<Source, Args...>();
10006
40.3k
    fill_scan_result(result, vscan(SCN_FWD(source), format,
10007
40.3k
                                   make_scan_args(result->values())));
10008
40.3k
    return result;
10009
40.3k
}
_ZN3scn2v44scanIJyENS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJDpT_EEEEEOSI_NS0_24basic_scan_format_stringIcNSN_13type_identityISI_E4typeEJDpNSZ_IST_E4typeEEEE
Line
Count
Source
10004
32.8k
{
10005
32.8k
    auto result = make_scan_result<Source, Args...>();
10006
32.8k
    fill_scan_result(result, vscan(SCN_FWD(source), format,
10007
32.8k
                                   make_scan_args(result->values())));
10008
32.8k
    return result;
10009
32.8k
}
Unexecuted instantiation: _ZN3scn2v44scanIJNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESQ_NSD_22borrowed_tail_subrangeISM_Xsr6rangesE14borrowed_rangeISM_EEE4typeEE4typeEJDpT_EEEEEOSM_NS0_24basic_scan_format_stringIcNSD_13type_identityISM_E4typeEJDpNS12_ISW_E4typeEEEE
Unexecuted instantiation: _ZN3scn2v44scanIJdERNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJDpT_EEEEEOSD_NS0_24basic_scan_format_stringIcNSI_13type_identityISD_E4typeEJDpNSU_ISO_E4typeEEEE
Unexecuted instantiation: _ZN3scn2v44scanIJNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESN_NS0_6detail22borrowed_tail_subrangeISJ_Xsr6rangesE14borrowed_rangeISJ_EEE4typeEE4typeEJDpT_EEEEEOSJ_NS0_24basic_scan_format_stringIcNSO_13type_identityISJ_E4typeEJDpNS10_ISU_E4typeEEEE
10010
10011
/**
10012
 * `scan` with explicitly supplied default values
10013
 *
10014
 * Can be used, for example, for pre-allocating a scanned string:
10015
 *
10016
 * \code{.cpp}
10017
 * std::string str;
10018
 * str.reserve(64);
10019
 *
10020
 * // As long as the read string fits in `str`,
10021
 * // does not allocate
10022
 * auto result = scn::scan<std::string>(source, "{}",
10023
 *                                      {std::move(str)});
10024
 * // Access the read string with result->value()
10025
 * \endcode
10026
 *
10027
 * \ingroup scan
10028
 */
10029
template <typename... Args,
10030
          typename Source,
10031
          typename = std::enable_if_t<detail::is_file_or_narrow_range<Source>>>
10032
SCN_NODISCARD auto scan(Source&& source,
10033
                        scan_format_string<Source, Args...> format,
10034
                        std::tuple<Args...>&& initial_args)
10035
    -> scan_result_type<Source, Args...>
10036
{
10037
    auto result = make_scan_result<Source>(SCN_MOVE(initial_args));
10038
    fill_scan_result(result, vscan(SCN_FWD(source), format,
10039
                                   make_scan_args(result->values())));
10040
    return result;
10041
}
10042
10043
/**
10044
 * \defgroup locale Localization
10045
 *
10046
 * \brief Scanning APIs that allow passing in a locale
10047
 */
10048
10049
/**
10050
 * `scan` using an explicit locale.
10051
 *
10052
 * Has no effect on its own, locale-specific scanning still needs to be
10053
 * opted-into on an argument-by-argument basis, with the `L` format string
10054
 * specifier.
10055
 *
10056
 * \code{.cpp}
10057
 * auto result = scn::scan<double>(
10058
 *     std::locale{"fi_FI.UTF-8"}, "3,14, "{:L}");
10059
 * // result->value() == 3.14
10060
 * \endcode
10061
 *
10062
 * \ingroup locale
10063
 */
10064
template <typename... Args,
10065
          typename Locale,
10066
          typename Source,
10067
          typename = std::enable_if_t<detail::is_file_or_narrow_range<Source>>,
10068
          typename = std::void_t<decltype(Locale::classic())>>
10069
SCN_NODISCARD auto scan(const Locale& loc,
10070
                        Source&& source,
10071
                        scan_format_string<Source, Args...> format)
10072
    -> scan_result_type<Source, Args...>
10073
418k
{
10074
418k
    auto result = make_scan_result<Source, Args...>();
10075
418k
    fill_scan_result(result, vscan(loc, SCN_FWD(source), format,
10076
418k
                                   make_scan_args(result->values())));
10077
418k
    return result;
10078
418k
}
_ZN3scn2v44scanIJaENSt3__16localeENS0_6ranges6detail9subrange_8subrangeIPKcS9_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESI_NS0_6detail22borrowed_tail_subrangeISE_Xsr6rangesE14borrowed_rangeISE_EEE4typeEE4typeEJDpT_EEEEERKT0_OSE_NS0_24basic_scan_format_stringIcNSJ_13type_identityISE_E4typeEJDpNSY_ISP_E4typeEEEE
Line
Count
Source
10073
33.9k
{
10074
33.9k
    auto result = make_scan_result<Source, Args...>();
10075
33.9k
    fill_scan_result(result, vscan(loc, SCN_FWD(source), format,
10076
33.9k
                                   make_scan_args(result->values())));
10077
33.9k
    return result;
10078
33.9k
}
_ZN3scn2v44scanIJhENSt3__16localeENS0_6ranges6detail9subrange_8subrangeIPKcS9_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESI_NS0_6detail22borrowed_tail_subrangeISE_Xsr6rangesE14borrowed_rangeISE_EEE4typeEE4typeEJDpT_EEEEERKT0_OSE_NS0_24basic_scan_format_stringIcNSJ_13type_identityISE_E4typeEJDpNSY_ISP_E4typeEEEE
Line
Count
Source
10073
29.9k
{
10074
29.9k
    auto result = make_scan_result<Source, Args...>();
10075
29.9k
    fill_scan_result(result, vscan(loc, SCN_FWD(source), format,
10076
29.9k
                                   make_scan_args(result->values())));
10077
29.9k
    return result;
10078
29.9k
}
_ZN3scn2v44scanIJiENSt3__16localeENS0_6ranges6detail9subrange_8subrangeIPKcS9_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESI_NS0_6detail22borrowed_tail_subrangeISE_Xsr6rangesE14borrowed_rangeISE_EEE4typeEE4typeEJDpT_EEEEERKT0_OSE_NS0_24basic_scan_format_stringIcNSJ_13type_identityISE_E4typeEJDpNSY_ISP_E4typeEEEE
Line
Count
Source
10073
39.7k
{
10074
39.7k
    auto result = make_scan_result<Source, Args...>();
10075
39.7k
    fill_scan_result(result, vscan(loc, SCN_FWD(source), format,
10076
39.7k
                                   make_scan_args(result->values())));
10077
39.7k
    return result;
10078
39.7k
}
_ZN3scn2v44scanIJjENSt3__16localeENS0_6ranges6detail9subrange_8subrangeIPKcS9_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESI_NS0_6detail22borrowed_tail_subrangeISE_Xsr6rangesE14borrowed_rangeISE_EEE4typeEE4typeEJDpT_EEEEERKT0_OSE_NS0_24basic_scan_format_stringIcNSJ_13type_identityISE_E4typeEJDpNSY_ISP_E4typeEEEE
Line
Count
Source
10073
32.4k
{
10074
32.4k
    auto result = make_scan_result<Source, Args...>();
10075
32.4k
    fill_scan_result(result, vscan(loc, SCN_FWD(source), format,
10076
32.4k
                                   make_scan_args(result->values())));
10077
32.4k
    return result;
10078
32.4k
}
_ZN3scn2v44scanIJxENSt3__16localeENS0_6ranges6detail9subrange_8subrangeIPKcS9_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESI_NS0_6detail22borrowed_tail_subrangeISE_Xsr6rangesE14borrowed_rangeISE_EEE4typeEE4typeEJDpT_EEEEERKT0_OSE_NS0_24basic_scan_format_stringIcNSJ_13type_identityISE_E4typeEJDpNSY_ISP_E4typeEEEE
Line
Count
Source
10073
40.4k
{
10074
40.4k
    auto result = make_scan_result<Source, Args...>();
10075
40.4k
    fill_scan_result(result, vscan(loc, SCN_FWD(source), format,
10076
40.4k
                                   make_scan_args(result->values())));
10077
40.4k
    return result;
10078
40.4k
}
_ZN3scn2v44scanIJyENSt3__16localeENS0_6ranges6detail9subrange_8subrangeIPKcS9_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESI_NS0_6detail22borrowed_tail_subrangeISE_Xsr6rangesE14borrowed_rangeISE_EEE4typeEE4typeEJDpT_EEEEERKT0_OSE_NS0_24basic_scan_format_stringIcNSJ_13type_identityISE_E4typeEJDpNSY_ISP_E4typeEEEE
Line
Count
Source
10073
32.7k
{
10074
32.7k
    auto result = make_scan_result<Source, Args...>();
10075
32.7k
    fill_scan_result(result, vscan(loc, SCN_FWD(source), format,
10076
32.7k
                                   make_scan_args(result->values())));
10077
32.7k
    return result;
10078
32.7k
}
_ZN3scn2v44scanIJaENSt3__16localeENS0_6ranges6detail9subrange_8subrangeINS2_16__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESN_NS0_6detail22borrowed_tail_subrangeISJ_Xsr6rangesE14borrowed_rangeISJ_EEE4typeEE4typeEJDpT_EEEEERKT0_OSJ_NS0_24basic_scan_format_stringIcNSO_13type_identityISJ_E4typeEJDpNS13_ISU_E4typeEEEE
Line
Count
Source
10073
33.9k
{
10074
33.9k
    auto result = make_scan_result<Source, Args...>();
10075
33.9k
    fill_scan_result(result, vscan(loc, SCN_FWD(source), format,
10076
33.9k
                                   make_scan_args(result->values())));
10077
33.9k
    return result;
10078
33.9k
}
_ZN3scn2v44scanIJhENSt3__16localeENS0_6ranges6detail9subrange_8subrangeINS2_16__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESN_NS0_6detail22borrowed_tail_subrangeISJ_Xsr6rangesE14borrowed_rangeISJ_EEE4typeEE4typeEJDpT_EEEEERKT0_OSJ_NS0_24basic_scan_format_stringIcNSO_13type_identityISJ_E4typeEJDpNS13_ISU_E4typeEEEE
Line
Count
Source
10073
29.9k
{
10074
29.9k
    auto result = make_scan_result<Source, Args...>();
10075
29.9k
    fill_scan_result(result, vscan(loc, SCN_FWD(source), format,
10076
29.9k
                                   make_scan_args(result->values())));
10077
29.9k
    return result;
10078
29.9k
}
_ZN3scn2v44scanIJiENSt3__16localeENS0_6ranges6detail9subrange_8subrangeINS2_16__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESN_NS0_6detail22borrowed_tail_subrangeISJ_Xsr6rangesE14borrowed_rangeISJ_EEE4typeEE4typeEJDpT_EEEEERKT0_OSJ_NS0_24basic_scan_format_stringIcNSO_13type_identityISJ_E4typeEJDpNS13_ISU_E4typeEEEE
Line
Count
Source
10073
39.6k
{
10074
39.6k
    auto result = make_scan_result<Source, Args...>();
10075
39.6k
    fill_scan_result(result, vscan(loc, SCN_FWD(source), format,
10076
39.6k
                                   make_scan_args(result->values())));
10077
39.6k
    return result;
10078
39.6k
}
_ZN3scn2v44scanIJjENSt3__16localeENS0_6ranges6detail9subrange_8subrangeINS2_16__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESN_NS0_6detail22borrowed_tail_subrangeISJ_Xsr6rangesE14borrowed_rangeISJ_EEE4typeEE4typeEJDpT_EEEEERKT0_OSJ_NS0_24basic_scan_format_stringIcNSO_13type_identityISJ_E4typeEJDpNS13_ISU_E4typeEEEE
Line
Count
Source
10073
32.4k
{
10074
32.4k
    auto result = make_scan_result<Source, Args...>();
10075
32.4k
    fill_scan_result(result, vscan(loc, SCN_FWD(source), format,
10076
32.4k
                                   make_scan_args(result->values())));
10077
32.4k
    return result;
10078
32.4k
}
_ZN3scn2v44scanIJxENSt3__16localeENS0_6ranges6detail9subrange_8subrangeINS2_16__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESN_NS0_6detail22borrowed_tail_subrangeISJ_Xsr6rangesE14borrowed_rangeISJ_EEE4typeEE4typeEJDpT_EEEEERKT0_OSJ_NS0_24basic_scan_format_stringIcNSO_13type_identityISJ_E4typeEJDpNS13_ISU_E4typeEEEE
Line
Count
Source
10073
40.3k
{
10074
40.3k
    auto result = make_scan_result<Source, Args...>();
10075
40.3k
    fill_scan_result(result, vscan(loc, SCN_FWD(source), format,
10076
40.3k
                                   make_scan_args(result->values())));
10077
40.3k
    return result;
10078
40.3k
}
_ZN3scn2v44scanIJyENSt3__16localeENS0_6ranges6detail9subrange_8subrangeINS2_16__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESN_NS0_6detail22borrowed_tail_subrangeISJ_Xsr6rangesE14borrowed_rangeISJ_EEE4typeEE4typeEJDpT_EEEEERKT0_OSJ_NS0_24basic_scan_format_stringIcNSO_13type_identityISJ_E4typeEJDpNS13_ISU_E4typeEEEE
Line
Count
Source
10073
32.8k
{
10074
32.8k
    auto result = make_scan_result<Source, Args...>();
10075
32.8k
    fill_scan_result(result, vscan(loc, SCN_FWD(source), format,
10076
32.8k
                                   make_scan_args(result->values())));
10077
32.8k
    return result;
10078
32.8k
}
10079
10080
/**
10081
 * `scan` with a locale and default values
10082
 *
10083
 * \ingroup locale
10084
 */
10085
template <typename... Args,
10086
          typename Locale,
10087
          typename Source,
10088
          typename = std::enable_if_t<detail::is_file_or_narrow_range<Source>>,
10089
          typename = std::void_t<decltype(Locale::classic())>>
10090
SCN_NODISCARD auto scan(const Locale& loc,
10091
                        Source&& source,
10092
                        scan_format_string<Source, Args...> format,
10093
                        std::tuple<Args...>&& initial_args)
10094
    -> scan_result_type<Source, Args...>
10095
{
10096
    auto result = make_scan_result<Source>(SCN_MOVE(initial_args));
10097
    fill_scan_result(result, vscan(loc, SCN_FWD(source), format,
10098
                                   make_scan_args(result->values())));
10099
    return result;
10100
}
10101
10102
/**
10103
 * `scan` a single value, with default options.
10104
 *
10105
 * Essentially equivalent to: `scn::scan<T>(source, "{}")`,
10106
 * except it can skip parsing the format string, gaining performance.
10107
 *
10108
 * \ingroup scan
10109
 */
10110
template <typename T,
10111
          typename Source,
10112
          typename = std::enable_if_t<detail::is_file_or_narrow_range<Source>>>
10113
SCN_NODISCARD auto scan_value(Source&& source) -> scan_result_type<Source, T>
10114
63.1k
{
10115
63.1k
    auto result = make_scan_result<Source, T>();
10116
63.1k
    fill_scan_result(
10117
63.1k
        result, vscan_value(SCN_FWD(source),
10118
63.1k
                            detail::make_arg<scan_context>(result->value())));
10119
63.1k
    return result;
10120
63.1k
}
_ZN3scn2v410scan_valueIaNS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJT_EEEEEOSD_
Line
Count
Source
10114
5.29k
{
10115
5.29k
    auto result = make_scan_result<Source, T>();
10116
5.29k
    fill_scan_result(
10117
5.29k
        result, vscan_value(SCN_FWD(source),
10118
5.29k
                            detail::make_arg<scan_context>(result->value())));
10119
5.29k
    return result;
10120
5.29k
}
_ZN3scn2v410scan_valueIhNS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJT_EEEEEOSD_
Line
Count
Source
10114
4.41k
{
10115
4.41k
    auto result = make_scan_result<Source, T>();
10116
4.41k
    fill_scan_result(
10117
4.41k
        result, vscan_value(SCN_FWD(source),
10118
4.41k
                            detail::make_arg<scan_context>(result->value())));
10119
4.41k
    return result;
10120
4.41k
}
_ZN3scn2v410scan_valueIiNS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJT_EEEEEOSD_
Line
Count
Source
10114
6.11k
{
10115
6.11k
    auto result = make_scan_result<Source, T>();
10116
6.11k
    fill_scan_result(
10117
6.11k
        result, vscan_value(SCN_FWD(source),
10118
6.11k
                            detail::make_arg<scan_context>(result->value())));
10119
6.11k
    return result;
10120
6.11k
}
_ZN3scn2v410scan_valueIjNS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJT_EEEEEOSD_
Line
Count
Source
10114
4.85k
{
10115
4.85k
    auto result = make_scan_result<Source, T>();
10116
4.85k
    fill_scan_result(
10117
4.85k
        result, vscan_value(SCN_FWD(source),
10118
4.85k
                            detail::make_arg<scan_context>(result->value())));
10119
4.85k
    return result;
10120
4.85k
}
_ZN3scn2v410scan_valueIxNS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJT_EEEEEOSD_
Line
Count
Source
10114
6.22k
{
10115
6.22k
    auto result = make_scan_result<Source, T>();
10116
6.22k
    fill_scan_result(
10117
6.22k
        result, vscan_value(SCN_FWD(source),
10118
6.22k
                            detail::make_arg<scan_context>(result->value())));
10119
6.22k
    return result;
10120
6.22k
}
_ZN3scn2v410scan_valueIyNS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJT_EEEEEOSD_
Line
Count
Source
10114
4.91k
{
10115
4.91k
    auto result = make_scan_result<Source, T>();
10116
4.91k
    fill_scan_result(
10117
4.91k
        result, vscan_value(SCN_FWD(source),
10118
4.91k
                            detail::make_arg<scan_context>(result->value())));
10119
4.91k
    return result;
10120
4.91k
}
_ZN3scn2v410scan_valueIaNS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJT_EEEEEOSI_
Line
Count
Source
10114
5.28k
{
10115
5.28k
    auto result = make_scan_result<Source, T>();
10116
5.28k
    fill_scan_result(
10117
5.28k
        result, vscan_value(SCN_FWD(source),
10118
5.28k
                            detail::make_arg<scan_context>(result->value())));
10119
5.28k
    return result;
10120
5.28k
}
_ZN3scn2v410scan_valueIhNS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJT_EEEEEOSI_
Line
Count
Source
10114
4.40k
{
10115
4.40k
    auto result = make_scan_result<Source, T>();
10116
4.40k
    fill_scan_result(
10117
4.40k
        result, vscan_value(SCN_FWD(source),
10118
4.40k
                            detail::make_arg<scan_context>(result->value())));
10119
4.40k
    return result;
10120
4.40k
}
_ZN3scn2v410scan_valueIiNS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJT_EEEEEOSI_
Line
Count
Source
10114
5.92k
{
10115
5.92k
    auto result = make_scan_result<Source, T>();
10116
5.92k
    fill_scan_result(
10117
5.92k
        result, vscan_value(SCN_FWD(source),
10118
5.92k
                            detail::make_arg<scan_context>(result->value())));
10119
5.92k
    return result;
10120
5.92k
}
_ZN3scn2v410scan_valueIjNS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJT_EEEEEOSI_
Line
Count
Source
10114
4.83k
{
10115
4.83k
    auto result = make_scan_result<Source, T>();
10116
4.83k
    fill_scan_result(
10117
4.83k
        result, vscan_value(SCN_FWD(source),
10118
4.83k
                            detail::make_arg<scan_context>(result->value())));
10119
4.83k
    return result;
10120
4.83k
}
_ZN3scn2v410scan_valueIxNS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJT_EEEEEOSI_
Line
Count
Source
10114
6.02k
{
10115
6.02k
    auto result = make_scan_result<Source, T>();
10116
6.02k
    fill_scan_result(
10117
6.02k
        result, vscan_value(SCN_FWD(source),
10118
6.02k
                            detail::make_arg<scan_context>(result->value())));
10119
6.02k
    return result;
10120
6.02k
}
_ZN3scn2v410scan_valueIyNS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJT_EEEEEOSI_
Line
Count
Source
10114
4.89k
{
10115
4.89k
    auto result = make_scan_result<Source, T>();
10116
4.89k
    fill_scan_result(
10117
4.89k
        result, vscan_value(SCN_FWD(source),
10118
4.89k
                            detail::make_arg<scan_context>(result->value())));
10119
4.89k
    return result;
10120
4.89k
}
10121
10122
/**
10123
 * `scan` a single value, with default options, and a default value.
10124
 *
10125
 * \ingroup scan
10126
 */
10127
template <typename T,
10128
          typename Source,
10129
          std::enable_if_t<detail::is_file_or_narrow_range<Source>>* = nullptr>
10130
SCN_NODISCARD auto scan_value(Source&& source, T initial_value)
10131
    -> scan_result_type<Source, T>
10132
{
10133
    auto result =
10134
        make_scan_result<Source>(std::tuple<T>{SCN_MOVE(initial_value)});
10135
    fill_scan_result(
10136
        result, vscan_value(SCN_FWD(source),
10137
                            detail::make_arg<scan_context>(result->value())));
10138
    return result;
10139
}
10140
10141
/**
10142
 * Scan from `stdin`.
10143
 *
10144
 * Equivalent to `scn::scan<...>(stdin, ...)`.
10145
 *
10146
 * \code{.cpp}
10147
 * auto result = scn::input<int>("{}");
10148
 * \endcode
10149
 *
10150
 * \ingroup scan
10151
 */
10152
template <typename... Args>
10153
SCN_NODISCARD auto input(scan_format_string<std::FILE*, Args...> format)
10154
    -> scan_result_type<std::FILE*, Args...>
10155
{
10156
    auto result = scan_result_type<std::FILE*, Args...>(std::in_place, stdin,
10157
                                                        std::tuple<Args...>{});
10158
    auto err = vinput(format, make_scan_args(result->values()));
10159
    if (SCN_UNLIKELY(!err)) {
10160
        result = unexpected(err.error());
10161
    }
10162
    return result;
10163
}
10164
10165
/**
10166
 * Write msg to stdout, and call `input<Args...>(format)`
10167
 *
10168
 * \ingroup scan
10169
 */
10170
template <typename... Args>
10171
SCN_NODISCARD auto prompt(const char* msg,
10172
                          scan_format_string<std::FILE*, Args...> format)
10173
    -> scan_result_type<std::FILE*, Args...>
10174
{
10175
    std::printf("%s", msg);
10176
    std::fflush(stdout);
10177
    return input<Args...>(format);
10178
}
10179
10180
namespace detail {
10181
template <typename T>
10182
inline constexpr bool is_scan_int_type =
10183
    (std::is_integral_v<T> && !std::is_same_v<T, char> &&
10184
     !std::is_same_v<T, wchar_t> && !std::is_same_v<T, char32_t> &&
10185
     !std::is_same_v<T, bool>)
10186
#if SCN_HAS_INT128
10187
    || std::is_same_v<T, int128> || std::is_same_v<T, uint128>
10188
#endif
10189
    ;
10190
}  // namespace detail
10191
10192
/**
10193
 * Fast integer reading.
10194
 *
10195
 * Quickly reads an integer from a `std::string_view`. Skips preceding
10196
 * whitespace.
10197
 *
10198
 * Reads in the specified base,
10199
 * allowing a base prefix. Set `base` to `0` to detect the base from the
10200
 * input. `base` must either be `0`, or in range `[2, 36]`.
10201
 *
10202
 * \ingroup scan
10203
 */
10204
template <typename T, std::enable_if_t<detail::is_scan_int_type<T>>* = nullptr>
10205
SCN_NODISCARD auto scan_int(std::string_view source, int base = 10)
10206
    -> scan_result_type<std::string_view, T>
10207
{
10208
    auto result = scan_result_type<std::string_view, T>();
10209
    if (auto r = detail::scan_int_impl(source, result->value(), base);
10210
        SCN_LIKELY(r)) {
10211
        result->set_range(ranges::subrange{*r, source.end()});
10212
    }
10213
    else {
10214
        result = unexpected(r.error());
10215
    }
10216
    return result;
10217
}
10218
10219
namespace detail {
10220
template <bool Val, typename T>
10221
inline constexpr bool dependent_bool = Val;
10222
}
10223
10224
/**
10225
 * Very fast integer reading.
10226
 *
10227
 * Quickly reads an integer from a `std::string_view`.
10228
 *
10229
 * Be very careful when using this one!
10230
 * Its speed comes from some very heavy assumptions about the validity of
10231
 * the input:
10232
 *  - `source` must not be empty.
10233
 *  - `source` contains nothing but the integer: no leading or trailing
10234
 *    whitespace, no extra junk. Leading `-` is allowed for signed types,
10235
 *    no `+` is allowed.
10236
 *  - The parsed value does not overflow.
10237
 *  - The input is a valid base-10 integer.
10238
 * Breaking these assumptions will lead to UB.
10239
 *
10240
 * \ingroup scan
10241
 */
10242
template <typename T, std::enable_if_t<detail::is_scan_int_type<T>>* = nullptr>
10243
SCN_NODISCARD auto scan_int_exhaustive_valid(std::string_view source) -> T
10244
{
10245
    static_assert(
10246
        detail::dependent_bool<!SCN_IS_BIG_ENDIAN, T>,
10247
        "scan_int_exhaustive_valid requires a little endian environment");
10248
    return detail::scan_int_exhaustive_valid_impl<T>(source);
10249
}
10250
10251
SCN_END_NAMESPACE
10252
}  // namespace scn